Я не уверен, что это 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
команда приходит?Единственное место - где-нибудь - где у меня есть команда rm
в моем make-файле, это директива clean
test-clean:
rm -f $(TEST_BIN_FILES)
rm -f $(TEST_OBJ_DIR)/*.{a,d,o}
Есть идеи?