我一直在使用GNU Autotools并且我观察到可以使用不同的方法包含另一个makefile,我不知道并且我没有找到任何可能的结果或Automake方式的差异管理包含,如果有的话。
我看到的不同方式是使用include $(path_to_file)
和-include $(path_to file)
,连字符在包含文件时是否有所不同?
答案 0 :(得分:2)
添加连字符使包含成为可选。
如果包含的文件(例如Make.include
)不存在,并且您使用的是include Make.include
,则构建将失败。
但是,如果您使用-include Make.include
,则构建将成功(但当然文件不会被包含在内)。
我使用它来允许用户修改构建而无需触及真正的Makefile(如果您想要使构建适应您的系统,那么很酷)并且您正在使用VCS来跟踪对父Makefile的更改:this跟踪Makefile的方式不会被弄脏")。
这并非特定于autotools,因为它一般适用于make
。
使用自动工具时,请注意automake
无法通过包含文件跟踪任何内容。