在我的 makefile 中,我需要根据名为MY_SERVER_ENV.
我试过这个:
gulp:=./node_modules/.bin/gulp
ifeq ($(MY_SERVER_ENV), 'prod')
branch:=production
else
branch:=deploy
endif
checkvariable:
@echo $$branch
Run Code Online (Sandbox Code Playgroud)
我得到的输出:
$ MY_SERVER_ENV=prod 生成检查变量
$
这个想法是将变量设置branch为production如果环境变量MY_SERVER_ENV等于prod,否则设置branch为deploy。
正如你所看到的,echo $$branch什么都不显示
branch应该作为 访问$(branch),并使用
ifeq ($(MY_SERVER_ENV), 'prod')
Run Code Online (Sandbox Code Playgroud)
将 的值$MY_SERVER_ENV与文字字符串'prod'(包括单引号)进行比较。
gulp:=./node_modules/.bin/gulp
ifeq "$(MY_SERVER_ENV)" "prod"
branch:=production
else
branch:=deploy
endif
help:
@echo $(branch)
Run Code Online (Sandbox Code Playgroud)
该ifeq可以在以下几种形式:
ifeq (arg1, arg2)
ifeq 'arg1' 'arg2'
ifeq "arg1" "arg2"
ifeq "arg1" 'arg2'
ifeq 'arg1' "arg2"
Run Code Online (Sandbox Code Playgroud)
参考:https : //ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_7.html