我有一个make文件,在调用g ++时使用-MMD -MP选项。这将创建类似于以下内容的.d依赖项文件:
blah.o: header1.h header2.h
现在,我正在尝试添加预编译的头文件支持,并希望有类似的规则:
$(OUT_DIR)/%.h.pch: $(SRC_DIR)/%.h
g++ -c $< -o $@
然后我希望.d文件看起来像这样:
blah.o: header1.h.pch header2.h.pch
这样.o文件依赖于预编译头,预编译头依赖于头。这样我可以确保在编译依赖的.cpp文件之前创建任何预编译的头文件。我的问题是我无法弄清楚如何让g ++创建具有* .pch扩展名的依赖项文件。我尝试的一切都会产生典型的.h扩展。有人有什么想法吗?
答案 0 :(得分:3)
如何添加命令
sed -e 's/.h /.h.pch /g' -e 's/.h$/.h.pch/' $*.d > $*.dd
(如果您愿意,可以修改foo.d
。)