在makefile中指定目标而不将其显示在$ ^中

时间:2012-05-29 21:45:10

标签: makefile

我有一个程序链接到一个也在开发过程中的库。我想在库更改时重新链接我的程序(因此在我的先决条件列表中有.a文件,但我也希望能够使用$^自动变量(或类似的东西)它)列出链接器调用中的所有其他目标。我也可以将makefile本身列为某些目标的依赖项,以确保在我更改makefile时重新编译它们。

我是否可以通过某种方式将特定文件标记为依赖项而不将其显示在$^等自动变量中?

1 个答案:

答案 0 :(得分:4)

我不知道有什么方法可以修改$^本身,但GNUMake有一些好functions for manipulating text,例如filter-out

foo: bar baz quartz.a Makefile
    @echo I want $(filter-out %.a Makefile, $^), not $(filter %.a Makefile, $^)