make deleting dependency files

Viewed 2556

I'm not sure if it's gmake or gcc that I don't understand here.

I'm using the -MM and -MD options to generate dependency rules for the Unit Testing framework I'm using. Specifically:

$(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)

When I run make, after all binaries are linked (properly), I see the following extra (unexplained) line before make exits

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

From whence is that rm command coming? The only place - anywhere - that I have an rm command in my makefile is in the clean directive

test-clean:
  rm -f $(TEST_BIN_FILES)
  rm -f $(TEST_OBJ_DIR)/*.{a,d,o}

Any ideas?

2 Answers
Related