Makefile 如何制作跟踪时间戳

Makefile 如何制作跟踪时间戳,makefile,Makefile,如何为文件保留时间戳?我正在努力落实我的git回购协议。我正在为大多数不会更改的文件添加预编译的二进制文件。现在,当我从git签出repo时,我不想编译这些c文件。我想使用这些预构建的二进制文件。所以,为了建立这个方案,我想知道makefile是如何跟踪时间戳的。有人能帮我吗 谢谢如果您正在使用make我认为您不应该将这些二进制文件放入存储库-只需启用make即可检查它们是否是最新的。你可以随时重建它们。如果你不是唯一一个参与该项目的人,这一点尤其正确。您将来需要更新其中的一些文件,然后重新编译

如何为文件保留时间戳?我正在努力落实我的git回购协议。我正在为大多数不会更改的文件添加预编译的二进制文件。现在,当我从git签出repo时,我不想编译这些c文件。我想使用这些预构建的二进制文件。所以,为了建立这个方案,我想知道makefile是如何跟踪时间戳的。有人能帮我吗


谢谢

如果您正在使用
make
我认为您不应该将这些二进制文件放入存储库-只需启用
make
即可检查它们是否是最新的。你可以随时重建它们。如果你不是唯一一个参与该项目的人,这一点尤其正确。您将来需要更新其中的一些文件,然后重新编译它们。如果你认为他们不会改变,那么当事情不起作用时,你可能会被咬。

make
查看上次修改的时间。从:

make
程序使用makefile数据库和文件的上次修改时间来决定哪些文件需要更新

和来自:

make实用程序检查时间关系,并应更新那些修改时间早于文件修改时间(称为先决条件)的派生文件(称为目标)

您可以使用:

触摸-更改文件访问和修改时间


如有必要,调整时间戳。

@Ed:我们的想法是项目中的大多数文件不会更改。当任何人得到一份新的回购协议时,我不想让他/她把整件事都整理好。我想知道是否可以跟踪git标记和二进制文件。如果git标记和二进制匹配,则只需复制二进制文件,否则编译。我只是在试验一种提高编译速度的方法。这是否意味着make在第一次运行时会创建一个数据库?如果是这样的话,那么当thr repo被签出时,我将无法缩短编译时间。@agent.smith:makefile本身就是一个数据库,一个生产规则数据库。有没有办法在服务器上使用已经编译好的二进制文件第一次签出时提高编译时间?您只需确保时间戳对齐,这样
make
就不需要构建任何内容。依赖上次修改时间似乎是一个缺点。仅将这些时间记录到最接近的秒。那么,如果文件修改和调用
make
快速重复地发生,那么
make
如何知道如何做正确的事情呢?