我在C中有一个项目,它有许多不同的模块,以及一个用于所有内容的makefile。我想要做的是每个模块都有自己的makefile,当该模块包含在任何项目中时,项目makefile只能引用单个模块的makefile。这样,只要我有一个项目,我想要使用某个模块,我就不必对我的项目makefile进行一堆编辑。
您可以提供任何有关此方面的帮助。
答案 0 :(得分:3)
如果您使用的是GNU Make实用程序,那么我的回答可能对您有所帮助。最近,我正在为自己的项目阅读GNU Make Manual
。
include
指令告诉make
暂停读取当前的makefile并在继续之前读取一个或多个其他makefile。该指令是makefile中的一行,如下所示:
include filenames
如果你想让make简单地忽略一个不存在或无法重新生成的makefile,没有错误信息,请使用-include指令而不是include,如下所示:
-include filenames
但是,还有另一种方式是变量MAKEFILES
。如果定义了环境变量MAKEFILES
,则make会将其值视为要在其他makefile之前读取的其他makefile的名称列表(由空格分隔)。
您可以参考GNU Make Manual了解更多信息。