Build “保持干净”是否应删除子模块和第三方软件包?
我对makefile还不太熟悉。我不确定Build “保持干净”是否应删除子模块和第三方软件包?,build,makefile,Build,Makefile,我对makefile还不太熟悉。我不确定makeclean的标准语义。以下哪项是正确的 make clean应删除从存储库中的其他文件生成的所有文件。例如: clean: @rm -rf dist clean: @rm -rf dist @rm -rf node_modules # remove npm packages installed by `setup` make clean应删除从存储库中的其他文件生成的所有文件,或由make setup添加的所有文件,
makeclean
的标准语义。以下哪项是正确的
应删除从存储库中的其他文件生成的所有文件。例如:make clean
clean: @rm -rf dist
clean: @rm -rf dist @rm -rf node_modules # remove npm packages installed by `setup`
应删除从存储库中的其他文件生成的所有文件,或由make clean
make setup添加的所有文件,例如:
clean: @rm -rf dist
clean: @rm -rf dist @rm -rf node_modules # remove npm packages installed by `setup`
makeclean
不应删除由makesetup
安装的第三方依赖项。但是,如果您一直在修改第三方依赖项的源代码,那么,也许清除这些更改正是您所期望的makeclean
所要做的
换句话说,应该
make clean
“撤消”make
,还是应该撤消make setup&make
?通常,您的make clean
的功能取决于您自己。你引用的规则只是惯例
但是,调用makeclean
基本上有以下原因:
- 完成所有操作后,释放尽可能多的磁盘空间
- 允许重新开始,以防出现问题(例如,时间戳),并且增量构建不再工作
关于第一种情况,根据“一切都已完成”的语义,您的两种选择都是合理的。但是,我更喜欢
进行卸载
来重做(一切)安装。我喜欢让进行卸载
撤消进行设置
,让进行清理
撤消进行
。