环境
窗
MKSNT
gmake
Makefile相关部分(非常简化)
rules.mk
%.lib:
if [ "$(notdir $(@D))" = "opt" ]; then \
gmake test.obj; \
else \
gmake test2.obj; \
fi
opt was unexpected at this time.
我跑了"进程监控"并追踪它,发现这主要是由gmake在调用sh.exe时抛出的
C:/mksnt/mksnt/sh.exe -c "if [ opt = \"opt\" ]; then gmake test2.obj; else gmake test.obj fi"
问题
令我困惑的是为什么这种不一致。有时它会成功。有时会失败。
可能sh.exe解析该部分有问题。但是为什么以及为什么它不一致