所以我需要確保如果我正在爲設置了shell變量的特定目標進行交叉編譯。如果變量未設置,則make應顯示一條消息,然後退出。如果兩個shell變量的狀態爲特定狀態,則退出make文件
我在我的Makefile以下規則:
.PHONY: checksource
all: checksource default
checksource:
$(if $(and $(ifeq ($(CROSS_COMPILE), whatever)), $(ifeq ($(VARIABLE),))), \
($(shell echo "Error! VARIABLE not defined!") \
$(shell exit 2)))
如果$CROSS_COMPILE
就被設置成:
$> echo $CROSS_COMPILE
whatever
$>
和$變量沒有定義:
$> echo $VARIABLE
$>
它確實不退出make並且默認目標被創建。好吧,我知道我可以使用嵌套ifeq
來做到這一點,但我想讓它變得漂亮(並且瞭解更多關於makefile的知識)。