En règle générale non. Des fois le ./configure t'oblige à lui donner des arguments type --with-libfoo=/usr/local/include, des fois tu peux lui donner les CFLAGS directement, mais des fois il veut aussi des LDFLAGS, d'autres fois c'est un nom plus random.
Et même si le ./configure est passé avec ce que tu lui a donné, le make peut quand même se vautrer complètement et à nouveau tu regardes ce que tu peux passer comme options au makefile pour linker proprement, voir pire, éditer le makefile généré par les autotools, mais faut clairement être maso pour ça, je l'ai fait une fois pour compiler PHP 4 mais jamais je remets le nez là dedans
(ololz même avec des gants MAPA
).
Donc y'a le moment où ça te les brises au points ou tu te dis « je vais faire des liens symbolique en mode gros porc dans /usr/{include,lib} ».
Compiler c'est ce que t'es en train de faire indirectement, quand tu lances make y'a des règles de compilations qui disent ce qu'il faut faire pour compiler un .c en .o, puis après linker les .o en une librairie ou un exécutable. Honnêtement le plus dur, et c'est sur ça que tu es en train de galérer, c'est de configurer les scripts de compilation/installation. Installer les dépendances, trouver les chemins qui vont bien pour les include/lib, et faire en sorte que le ./configure et make trouvent leur petits là dedans.
Mais quand c'est bien fait, c'est juste histoire d'installer les bonnes dépendances, de définire le type de make à utiliser, et de modifier ce qu'il faut dans les CFLAGS/LDFLAGS. Si tu regardes le package NetBSD de protobuf-c, ça se résume à ça :
http://pkgsrc-wip.cvs.sourceforge.net/viewvc/pkgsrc-wip/wip/protobuf-c/Makefile?revision=1.1&view=markup
Et le bsd.pkg.mk doit déjà savoir comment faire selon les macros définies ; utiliser ./configure && gmake si GNU_CONFIGURE est à yes, ajouter les CFLAGS/LDFLAGS du système quand on compile du C/C++, etc.