Это мой Makefile:Makefile: править с тем же именем, подкаталог игнорировал
all: first second
second:
@echo "==Building second=="
first:
@echo "==Building first=="
Если есть каталог с именем second
, правило с таким же именем будет полностью игнорироваться Makefile. Если этого не происходит, все идет нормально.
Обратите внимание, что это происходит независимо от того, находится ли в нем файл second
в качестве файла Makefile.
Я столкнулся с этой проблемой при организации моего проекта: я подумал о создании общего файла Makefile, который затем вызывает Makefile в каждом каталоге .. так что для меня кажется естественным, что правило имеет то же имя, что и папка.
Решение тривиально: измените имя правила внутри Makefile ... но это поведение кажется довольно странным: есть ли у вас какие-либо идеи/идеи по этому вопросу и какое другое возможное решение?
Я использую GNU Make 3.81, внутри Bash 4.2.25, под Ubuntu 12.04.2 LTS.
Вы хотите, чтобы правило 'second' вызывало' second/Makefile' из 'second /', это правильно? – Beta