Makefile 如何通过make文件创建条件构建?
如何通过向make文件传递命令行选项来创建选择性对象 我的项目结构如下Makefile 如何通过make文件创建条件构建?,makefile,gnu-make,Makefile,Gnu Make,如何通过向make文件传递命令行选项来创建选择性对象 我的项目结构如下 Makefile src/ include/ test/ 主文件在测试DIR和其他C++测试代码文件,如ABC1.CC ABC2.CC等,也在测试中。 我想通过向make文件传递适当的参数,将选择性的abcX.cc文件构建到abcX.o文件中 我不想用我的品牌作为 $ make ABC1=1 ABC2=1, 并将ABC变量放入make文件的ifeq中 像 有一种实用的方法吗?如果我正确理解了这个问题,您希望创建相同的二进
Makefile
src/
include/
test/
<>主文件在测试DIR和其他C++测试代码文件,如ABC1.CC ABC2.CC等,也在测试中。
我想通过向make
文件传递适当的参数,将选择性的abcX.cc文件构建到abcX.o文件中
我不想用我的品牌作为
$ make ABC1=1 ABC2=1,
并将ABC变量放入make文件的ifeq中
像
有一种实用的方法吗?如果我正确理解了这个问题,您希望创建相同的二进制文件,但通过提供一个选项来使用不同的源文件 对于此特定场景,只需使用a来确定最终目标:
# Create a pattern target, let's give it a name such that
# the pattern is obvious, such as ABC/<num>
.PHONY: ABC/%
ABC/%: main.cc $(TESTPATH)/abc%.cc
g++ -o modtest $< # etc...
另一方面,如果您希望生成单独的二进制文件,这是相同的交易,但是让虚假目标依赖于最终的二进制文件。如果模式相同,则可能是这样:
# Trigger the build for modtest-<num> with the target ABC/%
.PHONY: ABC/%
ABC/%: modtest-%
如果我正确理解了这个问题,那么您希望创建相同的二进制文件,但通过提供一个选项来使用不同的源文件 对于此特定场景,只需使用a来确定最终目标:
# Create a pattern target, let's give it a name such that
# the pattern is obvious, such as ABC/<num>
.PHONY: ABC/%
ABC/%: main.cc $(TESTPATH)/abc%.cc
g++ -o modtest $< # etc...
另一方面,如果您希望生成单独的二进制文件,这是相同的交易,但是让虚假目标依赖于最终的二进制文件。如果模式相同,则可能是这样:
# Trigger the build for modtest-<num> with the target ABC/%
.PHONY: ABC/%
ABC/%: modtest-%
您希望如何选择要使用的文件?分组?个人姓名?makefile的其余部分是什么样子的?
makeabc1.o
?在没有看到问题中的Makefile
之前,真的没有办法回答这个问题……这个问题不清楚。你能给出一个清晰的例子,说明你希望如何调用Make,以及你希望它做什么吗?我的问题很简单-我在testdir中有25个源文件,其中一个是main.cc,另一个是abc1.cc。。。到abc24.cc。我的目标是从Jenkins的下拉列表(abcX列表)中选择模块名称,然后根据选择创建所选对象,然后将其链接到创建目标。帮助我…如何为此类场景创建make文件。您希望如何选择要使用的文件?分组?个人姓名?makefile的其余部分是什么样子的?makeabc1.o
?在没有看到问题中的Makefile
之前,真的没有办法回答这个问题……这个问题不清楚。你能给出一个清晰的例子,说明你希望如何调用Make,以及你希望它做什么吗?我的问题很简单-我在testdir中有25个源文件,其中一个是main.cc,另一个是abc1.cc。。。到abc24.cc。我的目标是从Jenkins的下拉列表(abcX列表)中选择模块名称,然后根据选择创建所选对象,然后将其链接到创建目标。帮助我…如何为此类场景创建make文件。您希望如何选择要使用的文件?分组?个人姓名?makefile的其余部分是什么样子的?makeabc1.o
?在没有看到问题中的Makefile
之前,真的没有办法回答这个问题……这个问题不清楚。你能给出一个清晰的例子,说明你希望如何调用Make,以及你希望它做什么吗?我的问题很简单-我在testdir中有25个源文件,其中一个是main.cc,另一个是abc1.cc。。。到abc24.cc。我的目标是从Jenkins的下拉列表(abcX列表)中选择模块名称,然后根据选择创建所选对象,然后将其链接到创建目标。帮助我…如何为这样的场景创建make文件。
# Set target specific variables to customize what to be built
ABC/1: OBJECTS=abc1 foo bar
ABC/2: OBJECTS=abc2
ABC/%: OBJECTS=% main