【发布时间】:2015-07-15 13:27:03
【问题描述】:
因此,作为我用 C++ 制作的一些工具的一部分,我希望能够单独测试每个工具。有多个带有多个测试文件的工具,因此我想要多个可执行文件作为我的最终结果。我希望 Makefile 的魔力能让我的生活更轻松。
这是我当前的 Makefile 模板:
# Compilation
CXX = g++
CXXFLAGS = -pedantic -Wall -c # -g -Wextra
all: lbLog lbString
lbLog:
$(CXX) $(CXXFLAGS) 'src/lbLog.cpp' -o lbLog.o
$(CXX) 'examples/lbLog_example.cpp' lbLog.o -o 'tests/lbLog_example'
rm lbLog.o
lbString:
$(CXX) $(CXXFLAGS) 'src/lbString.cpp' -o lbString.o
$(CXX) 'examples/lbString_example.cpp' lbString.o -o 'tests/lbString_example'
rm lbString.o
预期的文件结构是
- 驱动程序示例文件位于“/examples”(.cpp)中
- 源/工具 (.cpp) 位于“/src”中
- “/include”中的标题
- 在“/tests”中输出 exe
所以问题是,是否有优化 makefile 的方法,所以我可以虚拟地“设置并忘记”?我不想希望将每个新工具都添加到 Makefile 中。因为它是如此重复的模式,所以一定有办法让它变得更聪明。
【问题讨论】:
标签: c++ c compilation makefile