我已经看到很多方法用于解析Makefile中的依赖关系,例如使用gcc -MM
和sed
common,或使用include
指令(加上一点Perl魔术),qmake
,automake
或info make
等。
面对如此众多的选择,我对应该选择哪个感到困惑。所以,我想知道当今解决Makefile中依赖关系的常用方法是什么?解决这个问题的最佳方法是什么?
PS:C/CPP项目。
最佳答案
通常,如果您只关心支持GNU make和gcc的系统(例如,如今所有的Linux变体和大多数unix之类的系统),则只需使用gcc的各种-M
标志生成依赖项,然后在Makefile中对其进行-include
。 in this question有一些很好的信息-通常不需要使用sed或任何更复杂的工具。