【发布时间】:2011-03-20 13:37:32
【问题描述】:
我这里不明白是gmake还是gcc我不确定。
我正在使用 -MM 和 -MD 选项为我正在使用的单元测试框架生成依赖关系规则。具体来说:
$(TEST_OBJ_DIR)/%.d: $(TEST_SRC_DIR)/%.cpp
@$(CPPC) -MM -MD $< -o $@
@sed -i -e 's|\(.*\)\.o:|$(OBJ_DIR)/\1.o $(TEST_OBJ_DIR)/\1.d $(TEST_OBJ_DIR)/\1.o:|' $@
-include $(TEST_DEP_FILES)
当我运行 make 时,在所有二进制文件都(正确)链接后,我在 make 退出之前看到以下额外的(无法解释的)行
rm test/obj/dice.d test/obj/regex.o test/obj/inventoryContainer.d test/obj/color-string.d test/obj/dice.o test/obj/inventoryContainer.o test/obj/color-string.o test/obj/regex.d
rm 命令从何而来?我在 makefile 中有一个 rm 命令的唯一地方是 clean 指令
test-clean:
rm -f $(TEST_BIN_FILES)
rm -f $(TEST_OBJ_DIR)/*.{a,d,o}
有什么想法吗?
【问题讨论】:
标签: gcc makefile dependencies gnu-make