makefile:相同的目标和目录名称

makefile:相同的目标和目录名称

在我的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,但任何其他不存在的文件名也可以这样做。

相关内容