Làm cách nào để chạy tập lệnh, phải thực thi trước tất cả các lệnh makefile khác? Và nó sẽ được tốt đẹp (nhưng không bắt buộc) để kịch bản không được thực hiện nếu không có gì để xây dựng.Tạo trước một bước trong makefile
Tôi đã tìm kiếm SO và Google nhưng không thể tìm thấy bất kỳ thứ gì.
Tôi có cách giải quyết này:
# myscript.bat output is empty
CHEAT_ARGUMENT = (shell myscript.bat)
CFLAGS += -DCHEAT_ARGUMENT=$(CHEAT_ARGUMENT)
AFLAGS += -DCHEAT_ARGUMENT=$(CHEAT_ARGUMENT)
Nhưng nó rất xấu xí. Có cách nào khác để chạy "tạo trước bước" trong makefile?
"không thực thi nếu không có gì để xây dựng" không phải là rất quan trọng bây giờ, nhưng sẽ là tốt. Câu hỏi đã thay đổi. – zxcat
Bạn đang cố gắng làm gì? Myscript.bat làm gì? Bạn có thực sự chỉ cần cố gắng tính toán một số cờ biên dịch bổ sung, hoặc đây là một ví dụ contrived? –
Tập lệnh của tôi được sửa đổi và kiểm tra SVN, nó được sửa đổi từ lần commit cuối cùng. Nó đặt thông tin này vào kịch bản lệnh khác (tạo tệp rev.bat), thông tin này xuất ra đơn giản mà không cần bất cứ điều gì khác. Sau đó trong makefile tôi sử dụng REVISION = $ (shell rev.bat) để có được thông tin này. Và sau đó: AXF_FILE = project_r $ (REVISION) _ $ (KIẾN TRÚC) .axf – zxcat