我有C ++项目,我使用带有两个目标的Makefile构建
debug: FLAGS += -g3 -DDEBUG -DSOCKET_LOG_COMMUNICATION
@printf ""
test: some_other_target
$(COMPILER) ...
我想把make称为
make debug test
定义宏并构建测试目标。这可能吗?
答案 0 :(得分:1)
特定于目标的变量仅适用于命名目标及其依赖项(除非变量声明为private
),因此唯一可以让test
继承debug
的方法的变量是debug: test
,这可能不是你想要的。
一种方法是使用条件语句:
ifdef debug
FLAGS += -g3 -DDEBUG -DSOCKET_LOG_COMMUNICATION
$(info whatever)
endif
test: some_other_target
$(COMPILER) ...
并调用make test debug=1
。