【发布时间】:2011-08-22 15:43:39
【问题描述】:
我一直在编写一个生成一些依赖项的 Makefile,我发现自己不得不重复规则,因为(旧版)代码库包含 .cpp 和 .cc 文件的混合。好像有点不好看。无论如何指定目标的先决条件可以是.cpp 或.cc 文件?
所以与其拥有:
%.d : %.cpp
$(CPP) -MM $(CPPFLAGS) $<
%.d : %.cc
$(CPP) -MM $(CPPFLAGS) $<
创建一些没有重复的东西,例如:
%.d : %.(cpp | cc)
$(CPP) -MM $(CPPFLAGS) $<
或者这种强制冗余只是 GNU Make 设计的一个不幸元素?
【问题讨论】:
-
如果你使用 GNU 自动工具,你可以使用 m4 宏