我是的初学者,make
我想知道何时使用make clean
。
一位同事告诉我,增量构建make
基于文件时间戳。因此,如果您在VCS中签出文件的旧版本,则它将具有“旧”时间戳,并将其标记为“无需重新编译此文件”。然后,该文件将不会包含在下一个版本中。
根据同一位同事的说法,这是使用的理由make clean
。
无论如何,我make clean
从其他StackExchange问题中大致得到了“何时使用” 问题的答案,但是我的另一个问题是:
为什么使用
make
依赖文件时间戳而不是例如SHA-1进行增量构建?例如,Git显示我们可以成功确定是否使用SHA-1修改了文件。
是为了速度问题吗?
make
的软件,则软件不会损坏,但是make
会努力在新版本中向后兼容。无缘无故地改变核心行为与之相反。日期显示了为什么最初不使用SHA-1,或者为什么不容易对其进行改造(make
当时已有数十年历史)。
make
创建于70年代。SHA-1创建于90年代。Git创建于00年代。您想要做的最后一件事是,由于某人晦涩的构建工作了30年而突然失效,因为有人决定使用经过实践检验的系统将其全部现代化。