在一个makefile中生成多个构建

时间:2016-05-01 21:16:41

标签: c++ unit-testing makefile

我希望每次运行make时都会将我的单元测试与我的项目一起构建。我尝试使用Makefile中的以下代码执行此操作:

DEPS = Parallel.cpp Resistor.cpp Series.cpp Source.cpp
TEST = Parallel.cpp Resistor.cpp Series.cpp Test.cpp

resistor: $(DEPS)
        g++ -std=c++11 -o resistor $(DEPS) -I. -g
test: $(TEST)
        g++ -std=c++11 -o test $(TEST) -I. -g

然而,当我查看目录时,我只看到./resistor而不是./test .... BTW欢迎任何以其他方式改进我的makefile的建议。

1 个答案:

答案 0 :(得分:3)

您可以将以下规则添加为Makefile中的第一条规则:

all: resistor test

然后运行make

$ make
g++ -std=c++11 -o resistor Parallel.cpp Resistor.cpp Series.cpp Source.cpp -I. -g
g++ -std=c++11 -o test Parallel.cpp Resistor.cpp Series.cpp Test.cpp -I. -g

the make documentation

  

默认情况下,make从第一个目标开始(而非目标)   名称以“。”开头。