stackies!
孜孜不倦的实验和搜索还没有找到解决这个看似简单的问题的方法。
在我的构建中,.cc文件依赖于.proto文件。在make过程中,.proto文件被翻译成.cc和.h文件,然后被收集并构建到可执行文件中。
如何确保在删除.proto时,在make进程中自动删除相应的中间.cc文件? (如果不是,它会进入构建的下一个阶段,并且在过去会引起问题。)
现在,我只是在删除或重命名.proto时清除所有生成的.cc / .h文件 - 这是正确的,但会触发几乎整个系统的重建。
提前致谢...!
答案 0 :(得分:1)
您可以编写类似clean
的规则,但不那么严格:
SOURCES = $(PROTOS:.proto=.cc)
.PHONY: tidy
tidy:
@rm $(filter-out $(SOURCES), $(wildcard *.cc))
然后,您可以手动启动此规则,或使其成为可执行文件的仅订单先决条件。
或者你可以在你的可执行文件的规则中放入相同的命令,但这有点不雅。