non uso gnutools, ma credo ke valga il principio secondo il quale ogni applicazione ke necessiti di una qualsiasi libreria abbia bisogno o di una riga di compilazione kilometrica oppure di un makefile in cui vanno specificati :

1) i files sorgenti da compilare e da quale tool devono essere compilati
2) i path di inclusione dei files prototipi utilizzati
3) le librerie utilizzate da linkare con l'exe
4) il nome dell'eseguibile con tutte le dipendenze per il link
5) tanta fortuna e pazienza

Consiglio di creare un albero di directory organizzato in questo modo :

MiaApplicazione
|-include
|-src

in include scriviamo gli header files (.H,.HPP)
e in src i files ke implementano le classi e le funzioni (.c e .cpp)

Se abbiamo bisogno di librerie esterne dobbiamo renderle visibili ai tool di compilazione specificando i vari path di inclusione e di link, cosa molto comoda se fatta in un "makefile" .

Ti consiglio di studiare un po' gli script della wxWindow, in particolar modo i files "makefile.gcc"