bL1nK
12.01.2007, 19:00
hi ich hoffe von euch kann mir jemand helfen
hab folgendes anliegen, ich will in einem (master- oder top-level-)makefile mehrere andere makefiles in subdirs zusammenfassen bzw. einmal das master-makefile starten dann händelt der alle in den subdirs ab und zwar die befehle make-all und make-clean.
so sieht etwa die struktur aus:
http://mitglied.lycos.de/l33ch0rn//dir.jpg
die makefiles in den subdirs sind ganz normale files wie sie mfile generiert.
die master-makefile hab ich selbst geschrieben...
MODULES = module1 module2
all:
for dir in $(MODULES); do \
(cd $$dir && ${MAKE} all); \
done
clean:
for dir in $(MODULES); do \
(cd $$dir && ${MAKE} clean); \
done
was ich jetzt schon herausgefunden hab, er übernimmt den parameter 'all' bzw 'clean' nicht . es wir immer der erste befehl in der makefile ausgeführt sprich das all.
d.h. es hat den selben effekt wenn ich folgendes schreiben würde:
for dir in $(MODULES); do \
(cd $$dir && ${MAKE}); \
done
also wieder zur hauptfrage, wie übergebe ich dem makefile das ich im subdir aufrufe das ich zb make clean haben will?
thx ;)
ps: im code müsst ihr euch den TAB immer dazu denken :P
hab folgendes anliegen, ich will in einem (master- oder top-level-)makefile mehrere andere makefiles in subdirs zusammenfassen bzw. einmal das master-makefile starten dann händelt der alle in den subdirs ab und zwar die befehle make-all und make-clean.
so sieht etwa die struktur aus:
http://mitglied.lycos.de/l33ch0rn//dir.jpg
die makefiles in den subdirs sind ganz normale files wie sie mfile generiert.
die master-makefile hab ich selbst geschrieben...
MODULES = module1 module2
all:
for dir in $(MODULES); do \
(cd $$dir && ${MAKE} all); \
done
clean:
for dir in $(MODULES); do \
(cd $$dir && ${MAKE} clean); \
done
was ich jetzt schon herausgefunden hab, er übernimmt den parameter 'all' bzw 'clean' nicht . es wir immer der erste befehl in der makefile ausgeführt sprich das all.
d.h. es hat den selben effekt wenn ich folgendes schreiben würde:
for dir in $(MODULES); do \
(cd $$dir && ${MAKE}); \
done
also wieder zur hauptfrage, wie übergebe ich dem makefile das ich im subdir aufrufe das ich zb make clean haben will?
thx ;)
ps: im code müsst ihr euch den TAB immer dazu denken :P