这是我的生成文件:
all: first second
second:
@echo "==Building second=="
first:
@echo "==Building first=="
如果存在名为 的目录second
,则 makefile 将完全忽略具有相同名称的规则。如果没有,一切正常。
请注意,无论second
文件夹是否作为 Makefile 在其中都会发生这种情况。
我在组织我的项目时遇到了这个问题:我考虑过创建一个通用的 Makefile,然后调用每个目录中的 Makefile.. 所以对我来说,规则与文件夹同名似乎很自然。
解决方案很简单:更改 Makefile 中的规则名称......但这种行为似乎很奇怪:您对此有任何想法/见解,以及另一种可能的解决方案吗?
我在 Ubuntu 12.04.2 LTS 下使用 GNU Make 3.81,在 Bash 4.2.25 中。