如何参数化Eclipse生成的make文件

时间:2012-03-21 11:31:10

标签: eclipse makefile eclipse-cdt

我有一个Eclipse CDT项目,配置为生成make文件。

我目前正在Windows上开发,我的构建服务器正在运行Linux。

make文件在我的本地机器上构建良好,但我有两个预先构建的外部依赖项:boost和ZeroMQ。这两个都有一个include目录,一个lib目录和一个相关的dll /。

如何配置项目,以便生成的make文件可以具有在make make时解析的不同BOOST_HOME或ZMQ_HOME变量(而不是烘焙到make文件中)。

1 个答案:

答案 0 :(得分:5)

CDT生成的Makefile包括以下几行:

-include ../makefile.init
 ...
-include ../makefile.defs
 ...
-include ../makefile.targets

也就是说,你可以添加例如项目根目录中的makefile.defs来控制构建。

JeffV编辑: 我添加了一个makefile.init:

 BOOST_HOME = C:\code\boost_1_48_0
 ZMQ_HOME = C:\code\zmq\zeromq-2.1.11

在项目设置“Build Variables”配置中,我还添加了以下条目:

BOOST_HOME = $(BOOST_HOME)
ZMQ_HOME = $(ZMQ_HOME)

这会导致eclipse替换$ {BOOST_HOME},它在我的lib中包含路径,并且在make文件中包含$(BOOST_HOME)变量。

这允许我在每个构建平台上拥有特定于平台的makefile.init版本。