是否有人拥有可以执行以下操作的完整makefile:
我已经看到了有关说明如何使make工具了解标头依赖性的说明,但是这些说明中没有一个提供了与实际示例相似的内容。一个简单的示例如下:main.cpp C1.cpp C1.h C2.cpp C2.h
CXX = g++
OBJECTS := main.o C1.o C2.o
all: $(OBJECTS)
%.o : %.cpp
$(CXX) $(CPPFLAGS) -Wall -MMD -c $< -o $@
-include *.d
编辑:正如TobySpeight所指出的,如果您构建目标文件,重命名或删除前提条件源文件或头文件之一,然后尝试重建目标文件,则此方法将无效;该.d
文件仍将需要缺少的文件,并且构建将失败。我忽略了处理这种情况的内容:
%.h: ;
%.cpp: ;
(这是有效的,但很粗糙。更精确的方法是在%.o
规则中放入一些sed命令,以便向.d
文件中添加特定的空规则,每个先决条件都需要一个空规则,但是sed命令很丑陋,上面的方法是在几乎所有情况下都足够好。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句