Một phần của makefile cho dự án C++ của tôi sử dụng lệnh diff để so sánh hai tệp được xuất bởi mã được xây dựng gần đây. Vấn đề là nếu các tập tin khác nhau, kịch bản bạn không thất bại và nên tiếp tục. Có nhiều tệp cần được so sánh và tôi cần xem tất cả trước khi tập lệnh xây dựng kết thúc. Ví dụ: một cái gì đó như thế này,Makefile thất bại khi sử dụng khác nhau trên các tệp khác nhau
diff: *
diff $(TEST)/T4.board $(TEST)/T4.board
diff $(TEST)/T4.board $(TEST)/sample.board
Dòng đầu tiên không gây ra vấn đề gì vì các tệp giống nhau. Dòng thứ hai so sánh các tệp khác nhau và khi sự khác biệt được hiển thị, tôi thấy
Makefile:102: recipe for target `diff' failed
make: *** [diff] Error 1
và tập lệnh dừng lại. Làm cách nào để tôi tiếp tục?
'diff' nên trở về 0 nếu thành công và 1 trên thất bại. Câu hỏi đặt ra là làm thế nào để tôi đối phó với thất bại? Tôi đã chỉ sử dụng makefiles trong một tuần hoặc lâu hơn. – gsingh2011