У меня есть каталог «lib» в главном каталоге моих приложений, который содержит произвольное количество подкаталогов, каждый из которых имеет свой собственный Makefile.make wildcard подкаталог цели
Я хотел бы иметь один Makefile в главном каталоге, который вызывает Makefile каждого подкаталога. Я знаю, что это возможно, если я вручную перечислил поддиры, но я хотел бы, чтобы это было сделано автоматически.
Я думал о чем-то вроде следующего, но он, очевидно, не работает. Обратите внимание, что у меня также есть чистые, тестовые и т. Д. Цели, поэтому%, вероятно, не очень хорошая идея.
LIBS=lib/*
all: $(LIBS)
%:
(cd [email protected]; $(MAKE))
Любая помощь приветствуется!
Wow, Благодарю. Работает как шарм! – Zed
Почему вы не определили '$ (clean_LIBS)' как фальшивый? Например. '.PHONY: $ (LIBS) $ (clean_LIBS)', тогда я думаю, что вам не нужна «сила». –
@ dma_k: Вы делаете отличную оценку. Я не тестировал ваше предложение, но ваши рассуждения звучат правильно для меня. На самом деле это звучит очень похоже на то, что предлагает руководство по GNU Make (см. Бит в поддирерах): http://www.gnu.org/software/make/manual/make.html#Phony-Targets – mrkj