我在我的Makefile
规则中设置了环境:
.ONESHELL:
set_db_env:
export DB_USER=XXX
export DB_PASS=YYY
我可以重复使用 set_db_env
目标吗?
another_rule: set_db_env
echo ${DB_USER}
我也找到了.EXPORT_ALL_VARIABLES,但不知道如何使用。 更新
我已发现这个方法可行:
$(shell ${APP} db_env > ${CONF_DIR}/db_env.conf)
include ${CONF_DIR}/db_env.conf
但我认为这不是一个好的方法
set_db_env
规则/配方实际上有效吗?这应该在每个export
语句中运行一个单独的 shell,否则我会期望关于:=
无效语法的错误。 - G.M..EXPORT_ALL_VARIABLES
,但这似乎是你要找的!这里有一个使用它的例子。基本上,你只需要在Makefile中将其声明为空目标即可。 - perror.EXPORT_ALL_VARIABLES
导出变量给子进程,而不是依赖规则。但我认为还有一种方法... - Beta