我正在尝试管理同一应用程序的两个不同版本。我有两个单独的make文件,一个用于调试,一个用于发布,它们都使用相同的源。我还有包装.bat文件,其中包含要传递的参数,以及其他内容。这一点的重点在于我希望能够保留我的目标文件,从而缩短编译时间。
我尝试将目标文件的扩展名更改为.od
(与通常的.o
相反),但make不太喜欢。我不知道如何将这些对象放在一个单独的目录中,或者可能将d附加到文件名。
这通常如何实现?
答案 0 :(得分:0)
Make具有构建.o
文件和各种其他类型文件的内置规则。但是如果你想让它使用不同的非标准扩展来构建目标,你必须自己创建该规则:它不会内置。
.od
文件构建.cpp
文件的规则(例如),您只需编写:
%.od : %.cpp
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(DEBUG_CXXFLAGS) -o $@ -c $<
我在这里添加了DEBUG_CFLAGS
,但您可以使用您喜欢的任何内容。