1
我想让我的目标依赖执行文件。比如我有简单的makefile:使目标取决于执行
a.out: test.cpp
gcc test.cpp
我想这样的事情:
a.out: test.cpp, `which gcc`
gcc test.cpp
这意味着改变你的gcc(尤其是更新)会导致的a.out的重建(即使测试。 CPP没有改变)。
但它看起来像不成熟的解决方案,因为您应该为此规则工具中使用的每个规则添加一个先决条件。
这个问题还有其他解决方案吗?
解决方案是,当你更改'gcc'版本时,你通常会*知道*。这不是定期进行的改变,而是在开发过程中很少发生。因此,当用户知道'gcc'改变时,他/她可以发出'make clean'命令来重建下一个'make'上的所有内容。 –
另外,请注意,只有当您使用的GCC自上次编译以来已被修改时,才会触发重新编译,而不仅仅因为它与上次使用的程序不同。 –
谢谢!我当然明白,这真的是我想要的。 –