bonjour,
je suis en train de travailler sur un remplacement de autoconf/automake basé sur les features de gnu make....
je cherche à pousser un peu plus loin la simplification du makefile.....
pour cela je cherche à effectuer le comportement suivant :
dans le makefile "projet"
Code :
- include makefile.conf
- mylib.so : $(mylibsources:%.c=%.o)
|
dans le makefile.conf
Code :
- %.so : %.o
- cmd1
- cmd2
- ....
|
donc dans le makefile projet : un target sans règle
et dans le makefile de configuration : une target générique qui doit être appelée en lieu et place de celle du makefile projet
je sais ceci ne marche pas
en effet la règel du makefile.conf construit un .so à partir d'un seul .o
quelqu'un m'a parlé d'utiliser un truc comme cela :
makefile projet
Code :
- listelib= libmylib1 libmylib2
- sources_libmylib1 = 1.c 2.c 3.c
- sources_libmylib2 = a.c b.c d.c
|
dans makefile de conf
Code :
- $(listelib:%=%.so) : $($(@:%=sources_%):%=%.o)
- cmd1
- cmd2
- cmd3
|
je ne suis pas sur que cela marchera.....
en particulier est-il possible de d'accéder à $@ dans la liste des prequis?
y aurait'il pas une manière plus simple?
Message édité par cityhunterxyz le 16-03-2005 à 15:00:26