Vì vậy, tôi cần đảm bảo rằng nếu tôi đang biên dịch chéo cho một mục tiêu cụ thể mà một biến trình bao được thiết lập. Nếu biến không được đặt thì hãy thực hiện hiển thị thông báo rồi thoát.Thoát khỏi tệp tạo nếu trạng thái của hai biến shell là một trạng thái nhất định
tôi có các nguyên tắc sau trong Makefile của tôi:
.PHONY: checksource
all: checksource default
checksource:
$(if $(and $(ifeq ($(CROSS_COMPILE), whatever)), $(ifeq ($(VARIABLE),))), \
($(shell echo "Error! VARIABLE not defined!") \
$(shell exit 2)))
Nếu $CROSS_COMPILE
được thiết lập để bất cứ điều gì:
$> echo $CROSS_COMPILE
whatever
$>
và $ BIẾN không được định nghĩa:
$> echo $VARIABLE
$>
Nó không thoát khỏi thực hiện và mục tiêu mặc định được xây dựng. Được rồi tôi biết rằng tôi chỉ có thể sử dụng lồng nhau ifeq
để làm điều này nhưng tôi muốn làm cho nó đẹp (và tìm hiểu thêm một chút về makefiles).