2012-08-02 29 views
36

Tôi muốn in một số tin nhắn trong khi thực hiện quy trình xây dựng với makefile. Sau đây có thể in tin nhắn, nhưng nó sẽ không thực thi kịch bản sau nó. Làm cách nào để khắc phục sự cố này?Làm cách nào để in thư trong Makefile?

ifeq (yes, ${TEST}) 
     CXXFLAGS := ${CXXFLAGS} -DDESKTOP_TEST 
test: 
     @echo '************ TEST VERSION ************' 
else 
release: 
     @echo "************ RELEASE VERSIOIN **********" 
endif 
+2

"Tập lệnh sau"? Kịch bản gì? – Beta

+1

@Beta anh ấy có nghĩa là tập lệnh không tiếp tục sau dòng. –

Trả lời

54

Nó không rõ ràng những gì bạn muốn, hoặc cho dù bạn muốn lừa này để làm việc với các mục tiêu khác nhau, hoặc cho dù bạn đã xác định các mục tiêu ở nơi khác, hoặc những gì phiên bản của Make bạn đang sử dụng, nhưng những gì heck , Tôi sẽ đi ra ngoài một chi:

ifeq (yes, ${TEST}) 
CXXFLAGS := ${CXXFLAGS} -DDESKTOP_TEST 
test: 
$(info ************ TEST VERSION ************) 
else 
release: 
$(info ************ RELEASE VERSIOIN **********) 
endif 
+1

Cảm ơn! Tôi loại bỏ kiểm tra: và phát hành :, nó hoạt động! – Dan

6

$(info your_text): Thông tin. Điều này không ngừng thực hiện.

$(warning your_text): Cảnh báo. Điều này hiển thị văn bản dưới dạng cảnh báo.

$(error your_text): Lỗi nghiêm trọng. Điều này sẽ ngừng thực hiện.

Các vấn đề liên quan