|
|
1
8
让包含生成时间戳的对象文件依赖于所有其他对象文件:
|
|
|
2
4
因此,如果所有可执行文件都依赖于is对象,那么JesperE是完全正确的。 否则,您可以在不更新时间戳的情况下重新生成可执行文件,如果其他依赖项之一发生了更改,但对象文件都没有更改。因此,问题中提到的两件事,“是否具有上次构建时间/日期”和“如果任何源代码已编译,则重新构建”,实际上不是同一件事,因此这取决于您想要的是哪一个。
如果您只是删除可执行文件并重新生成它,这仍然不会更新时间戳(可能是因为某些相关的内容发生了更改,但不是依赖项,例如您获取了链接器的最新版本,或者您在环境中更改了影响链接器和/或生成文件的内容)。因此,最好的做法可能是将对象编译为构建可执行文件规则的一部分,如下所示:
我之前已经Jigger过makefiles,因此如果版本号是由开发人员生成的,那么它会被故意破坏(设置为“0.0 private build”)——只有生成服务器设置用于启用正确版本号的选项。对于那个项目来说,在没有通过标记签出源代码管理并从中构建的东西上加上一个数字是没有意义的。 |
|
|
Jeremy L. · 在变量名中查找子字符串 1 年前 |
|
|
wvxvw · 在Make规则中将源和目标配对 1 年前 |
|
|
thetango · Makefile:多次执行目标 1 年前 |
|
|
Bokambo · make:MakeFile无需执行任何操作 1 年前 |