Я пытаюсь получить make-файл верхнего уровня, чтобы вызвать make в нескольких подпапках. Верхний уровень имеет несколько целей и важный бит показан ниже:Субмаксы не повторяются с другой целью
MAKE_DIRS := $(dir $(wildcard apps/**/Makefile))
.PHONY: clean_apps apps $(MAKE_DIRS)
clean_apps: TARGET_INFO := clean
apps clean_aps: $(MAKE_DIRS)
$(MAKE_DIRS):
$(MAKE) -C [email protected] $(TARGET_INFO)
Теперь это прекрасно работает, когда я называю цели независимо друг от друга:
make apps; make clean_apps
Однако, если я называю их по той же командной строке с :
make clean_apps apps
Тогда целевые приложения не говорят ничего общего. Я думаю, что это связано с зависимостью от каталогов, не изменившихся между вызовами, но я думал, что команда .PHONY позволит избежать этой проблемы ...
Я рад узнать, есть ли лучший способ справиться с это.
Спасибо, боб
Это не может "работать нормально", как написано, так как есть опечатка в ней ('clean_aps'). Мы не можем вам помочь, если вы не покажете нам настоящий make-файл. – Beta