Non sono sicuro che sia gmake o gcc che non capisco qui.effettua l'eliminazione dei file di dipendenza
Sto utilizzando le opzioni -MM e -MD per generare regole di dipendenza per il framework Test unità che sto utilizzando. In particolare:
$(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)
Quando eseguo make
, dopo che tutti i binari sono collegati (correttamente), vedo la seguente riga (inspiegabile) in più prima di fare uscite
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
Da dove è che rm
comando venire? L'unico posto - ovunque - che ho un comando rm
nel mio makefile è nella direttiva pulita
test-clean:
rm -f $(TEST_BIN_FILES)
rm -f $(TEST_OBJ_DIR)/*.{a,d,o}
Tutte le idee?
Oppure. SECONDARIO ... – reinierpost
@rei Ah, sì. Sapevo che '.SECONDARY' costringeva a trattare i file come intermedi, ma non mi rendevo conto che aveva anche smesso di cancellarli –