我想检查我的环境变量是否已设置,但这不起作用。
!IFDEF VAL
echo %VAL%
!ELSE
echo "NOT SET"
!ENDIF
我知道在linux上你可以使用ifeq,但是在windows makefile中没有这样的东西。请帮忙。
编辑:我在 cmd 中使用 cl2022 中的 nmake。
它有效。
清单 [MS.Learn]:Makefile 预处理。
Makefile.mak:
!message Start
!if defined(VAL)
!message VAL=$(VAL)
!else
!message VAL is NOT set
!endif
!message Stop
输出:
[cfati@CFATI-5510-0:e:\Work\Dev\StackExchange\StackOverflow\q076304362]> sopr.bat ### Set shorter prompt to better fit when pasted in StackOverflow (or other) pages ### [prompt]> set VAL= [prompt]> echo %VAL% %VAL% [prompt]> nmake /nologo /f Makefile.mak Start VAL is NOT set Stop [prompt]> nmake /nologo /f Makefile.mak VAL="cmdline macro" Start VAL=cmdline macro Stop [prompt]> nmake /nologo /f Makefile.mak VAL= Start VAL= Stop [prompt]> set VAL=env var [prompt]> echo %VAL% env var [prompt]> nmake /nologo /f Makefile.mak Start VAL=env var Stop [prompt]> nmake /nologo /f Makefile.mak VAL="cmdline macro" Start VAL=cmdline macro Stop [prompt]> nmake /nologo /f Makefile.mak VAL= Start VAL= Stop