我有一个程序链接到一个也在开发过程中的库。我想在库更改时重新链接我的程序(因此.a
在我的先决条件列表中包含该文件,但我也希望能够使用$^
自动变量(或类似的东西)列出所有其他目标链接器的调用。我还可以将 makefile 本身列为某些目标的依赖项,以确保在我更改 makefile 时重新编译它们。
有什么方法可以将特定文件标记为依赖项,而无需将其显示在自动变量中,例如$^
?
我有一个程序链接到一个也在开发过程中的库。我想在库更改时重新链接我的程序(因此.a
在我的先决条件列表中包含该文件,但我也希望能够使用$^
自动变量(或类似的东西)列出所有其他目标链接器的调用。我还可以将 makefile 本身列为某些目标的依赖项,以确保在我更改 makefile 时重新编译它们。
有什么方法可以将特定文件标记为依赖项,而无需将其显示在自动变量中,例如$^
?
我不知道有什么方法可以修改$^
自己,但是 GNUMake 有一些很好的操作文本的功能,例如filter-out
:
foo: bar baz quartz.a Makefile
@echo I want $(filter-out %.a Makefile, $^), not $(filter %.a Makefile, $^)