如果未设置环境变量,是否会导致makefile出错?
如果未设置环境变量,我希望生成文件崩溃。这就是我到目前为止所做的:如果未设置环境变量,是否会导致makefile出错?,makefile,environment-variables,virtualenv,gnu-make,Makefile,Environment Variables,Virtualenv,Gnu Make,如果未设置环境变量,我希望生成文件崩溃。这就是我到目前为止所做的: ifneq ($(shell echo $${VIRTUAL_ENV:+True}),True) $(error Looks like no virtualenv is active) endif 而且它有效 我想知道是否有一种更优雅的方法可以做到这一点,也许是直接使用make而不是调用$(shell…) 谢谢你的帮助 您可以使用该功能 ifeq ($(origin VIRTUAL_ENV),undefined) $(erro
ifneq ($(shell echo $${VIRTUAL_ENV:+True}),True)
$(error Looks like no virtualenv is active)
endif
而且它有效
我想知道是否有一种更优雅的方法可以做到这一点,也许是直接使用make而不是调用$(shell…
)
谢谢你的帮助 您可以使用该功能
ifeq ($(origin VIRTUAL_ENV),undefined)
$(error Looks like no virtualenv is active)
endif
你可以利用这个功能
ifeq ($(origin VIRTUAL_ENV),undefined)
$(error Looks like no virtualenv is active)
endif
这可能是最简单的选择,但不如使用
origin
进行微调
ifndef VIRTUAL_ENV
$(error Looks like no virtualenv is active)
endif
这里需要注意的一点是,您无法区分是在Makefile中定义的还是在环境中定义的VIRTUAL_ENV
正如@KurtisRader在一篇文章中指出的,这是可能的,因为环境变量被隐式地“导入”到make的命名空间中。这可能是最简单的选择,但没有使用
origin
进行微调
ifndef VIRTUAL_ENV
$(error Looks like no virtualenv is active)
endif
这里需要注意的一点是,您无法区分是在Makefile中定义的还是在环境中定义的VIRTUAL_ENV
正如@KurtisRader在a中指出的,这是可能的,因为环境变量隐式地“导入”到make的命名空间中。同样值得注意的是,环境变量隐式地“导入”到make的命名空间中,这就是为什么这个答案有效的原因:。同样值得一提的是,OP指向了
origin
的文档:同样值得一提的是,环境变量隐式地“导入”到make的命名空间中,这就是为什么这个答案有效的原因:。还值得将OP指向origin
的文档: