I am looking now for a full hour for the problem...
Why is it not IS 0
?
I am not a big make guru.
JAVAC := $(shell javac -version 2> /dev/null; echo $$?)
all:
@echo $(JAVAC)
ifeq ($(JAVAC), 0)
@echo "IS 0"
else
@echo "NOT 0"
endif
Run Code Online (Sandbox Code Playgroud)
Output:
#> make
0
NOT 0
Run Code Online (Sandbox Code Playgroud)
I'm using GNU Make 4.0.
空格是被比较字符串的一部分。看起来您在某处有一个额外的空格,可能是 JAVAC:= 赋值中的最后一个字符。
为了检验这个假设,使用
all:
@echo '<$(JAVAC)>'
Run Code Online (Sandbox Code Playgroud)