使用GCC make管理调试和发布版本

时间:2013-07-08 03:49:37

标签: c++ gcc makefile gnu

我正在尝试管理同一应用程序的两个不同版本。我有两个单独的make文件,一个用于调试,一个用于发布,它们都使用相同的源。我还有包装.bat文件,其中包含要传递的参数,以及其他内容。这一点的重点在于我希望能够保留我的目标文件,从而缩短编译时间。

我尝试将目标文件的扩展名更改为.od(与通常的.o相反),但make不太喜欢。我不知道如何将这些对象放在一个单独的目录中,或者可能将d附加到文件名。

这通常如何实现?

1 个答案:

答案 0 :(得分:0)

Make具有构建.o文件和各种其他类型文件的内置规则。但是如果你想让它使用不同的非标准扩展来构建目标,你必须自己创建该规则:它不会内置。

幸运的是,这非常微不足道。要创建从.od文件构建.cpp文件的规则(例如),您只需编写:

%.od : %.cpp
        $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(DEBUG_CXXFLAGS) -o $@ -c $<

我在这里添加了DEBUG_CFLAGS,但您可以使用您喜欢的任何内容。