Tôi không chắc đó là gmake hay gcc mà tôi không hiểu ở đây.xóa các tệp phụ thuộc
Tôi đang sử dụng tùy chọn -MM và -MD để tạo quy tắc phụ thuộc cho khung Kiểm tra đơn vị tôi đang sử dụng. Cụ thể là:
$(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)
Khi tôi chạy make
, sau khi tất cả mã nhị phân được liên kết (đúng), tôi thấy thêm (không rõ nguyên nhân) dòng sau đây trước khi làm thoát
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
Từ đâu là rm
lệnh sắp tới? Các chỉ diễn ra - bất cứ nơi nào - mà tôi có một lệnh rm
trong makefile của tôi là trong chỉ thị sạch
test-clean:
rm -f $(TEST_BIN_FILES)
rm -f $(TEST_OBJ_DIR)/*.{a,d,o}
Bất kỳ ý tưởng?
Hoặc .SECONDARY ... – reinierpost
@rei Ah, vâng. Tôi biết '.SECONDARY' buộc phải xử lý các tập tin như những người trung gian, nhưng tôi đã không nhận ra nó cũng ngừng làm cho việc xóa chúng –