在我的make
文件中,我有一个目标test:
并且make test
工作正常。但是当我还有一个名为的子目录时测试,我收到消息:
make: 'test' is up to date.
如何强制make
忽略子目录并执行目标?
答案1
将其声明为假。 GNU make 和 BSD make 支持这一点。
.PHONY: test
test: build
test/run_them_all
答案2
如果您想使用 POSIX 兼容方法来避免此问题,您可以使用此 Makefile:
test: FRC
some commands
FRC:
这将始终test
在不存在文件的假设下重建FRC
。
这种方法自 aprox 以来一直在使用。 42 年。
该名称的FRC
意思是Force ReCompile
,但任何其他不存在的文件名也可以这样做。