有没有办法让 make/gmake 对条件依赖采取行动?
我有这条规则:
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
$(CPPC) -c $(FLAGS_DEV) $< -o $@
一般情况下,每个.cpp文件都有对应的.h文件;但是也有一些异常(exception)。有没有办法用gmake实现“如果它存在就依赖它”?如果做不到这一点,是否有针对此类设置的最佳实践?
提前致谢;干杯!
更新:我正在使用 GCC
最佳答案
更好的方法是使用 gcc -MM 实际确定 cpp 文件的依赖关系,并将它们包含在 makefile 中。
SRCS = main.cpp other.cpp
DEPS = $(SRCS:%.cpp=$(DEP_DIR)/%.P)
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
$(CPPC) -c $(FLAGS_DEV) $< -o $@
$(DEP_DIR)/%.P: $(SRC_DIR)/%.cpp
$(CPPC) -MM $(FLAGS_DEV) -MT $(OBJ_DIR)/$*.o -MP -MF $@ $<
-include $(DEPS)
关于c++ - make/gmake 的条件依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2205603/