Ho una directory "lib" nella directory principale delle mie applicazioni, che contiene un numero arbitrario di sottodirectory, ognuna con il proprio Makefile.fanno gli obiettivi delle sottodirectory dei caratteri jolly
Mi piacerebbe avere un singolo Makefile nella directory principale, che chiama il Makefile di ciascuna sottodirectory. So che questo è possibile se elencherò manualmente i sottodirectory, ma mi piacerebbe averlo fatto automaticamente.
Stavo pensando a qualcosa di simile al seguente, ma ovviamente non funziona. Nota che ho anche obiettivi puliti, test, ecc. Quindi probabilmente% non è affatto una buona idea.
LIBS=lib/*
all: $(LIBS)
%:
(cd [email protected]; $(MAKE))
Qualsiasi aiuto è apprezzato!
Wow, Grazie. Funziona come un fascino! – Zed
Perché non hai definito '$ (clean_LIBS)' come fasullo? Per esempio. '.PHONY: $ (LIBS) $ (clean_LIBS)', quindi penso che non sia necessario 'force'. –
@dma_k: sei un punto eccellente. Non ho testato il tuo suggerimento, ma il tuo ragionamento mi sembra giusto. In effetti, suona molto simile a quello che suggerisce il manuale di GNU Make qui (vedi il bit su sottodirectory): http://www.gnu.org/software/make/manual/make.html#Phony-Targets – mrkj