我有一個Makefile一些東西一樣如下:的Makefile IFEQ問題
....
ifeq ($(strip $(MY_LIB)), $(strip $(SH_LIB))
@echo "TRUE-$(MY_LIB) $(SH_LIB)"
......
else
@echo "FALSE-$(MY_LIB) $(SH_LIB)"
......
endif
......
有了這個,我進入的問題。這就是當它們都具有相同的值時它會進入其他的。我確認了印刷品,並顯示兩者具有相同的字符串。 在根生成文件,
SH_LIB := display
即使MY_LIB是有顯示,它總是轉到其他部分並打印 FALSE - 顯示器顯示。
經過很多的變化,我能夠得到它。
....
ifeq ("strip $(MY_LIB)", "display")
@echo "TRUE-$(MY_LIB) $(SH_LIB)"
......
else
@echo "FALSE-$(MY_LIB) $(SH_LIB)"
......
endif
.....
這種變化後,走到裏面TRUE。 有人可以解釋一下嗎?
編輯: 我已經把類似的代碼放在根make文件中,它完美的工作。
所以你不能,而無需其他的makefile'include'這一個重現錯誤。嘗試減少這些文件到最低限度,仍然顯示錯誤,然後發佈整個事情。關於括號的 – Beta