No estoy seguro de si es gmake o gcc que no entiendo aquí.hacer eliminar archivos de dependencia
Estoy usando las opciones -MM y -MD para generar reglas de dependencia para el marco de pruebas de unidad que estoy usando. Específicamente:
$(TEST_OBJ_DIR)/%.d: $(TEST_SRC_DIR)/%.cpp
@$(CPPC) -MM -MD $< -o [email protected]
@sed -i -e 's|\(.*\)\.o:|$(OBJ_DIR)/\1.o $(TEST_OBJ_DIR)/\1.d $(TEST_OBJ_DIR)/\1.o:|' [email protected]
-include $(TEST_DEP_FILES)
Cuando corro make
, después de todos los binarios están vinculados (correctamente), que veo que la siguiente línea adicional (inexplicable) antes de que haga salidas
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
De dónde es que rm
comando que viene? El único lugar - en cualquier lugar - que tengo un comando rm
en mi makefile está en la directiva limpia
test-clean:
rm -f $(TEST_BIN_FILES)
rm -f $(TEST_OBJ_DIR)/*.{a,d,o}
¿Alguna idea?
O .SECONDARIO ... – reinierpost
@rei Ah, sí. Sabía que '.SECONDARY' forzaba a tratar los archivos como intermedios, pero no me di cuenta de que también dejaba de eliminarlos –