0
我正在爲具有多個模塊的應用程序編寫makefile(GNU make)。更準確地說,對於每個模塊,我有一個makefile。另外,我有一個調用每個模塊的makefile的主makefile。我一直試圖從這些makefile中分解出各處都需要的幾個變量。我已經包括了init.mk
文件在主makefile文件用下面的開頭:生成文件條件失敗,已定義變量
export OS = linux
ifeq ($(OS),linux)
export SHELL := /bin/bash
else ifeq ($(OS),windows)
export SHELL := cmd
else
export SHELL :=
endif
當我運行make這一點,我得到一個錯誤127,因爲對比測試失敗,SHELL
變量設置爲無。如果我在else
部分中添加/bin/bash
,make不會失敗。
爲什麼OS
變量沒有正確比較?
問候
製造手柄'在特殊SHELL'取決於操作系統的方式,在Windows上,它甚至可能[忽略任何你所說的](https://www.gnu.org/software/make/manual/make.html#Choosing-the-Shell)。 – user657267
'export OS = linux'行的末尾是否有任何額外的空格? – MadScientist
我有一個空間和評論 – BobMorane