0
我没有找到任何关于该文件的信息,并且我正在尝试在我的Makefile中写入此规则。以文本形式打印Makefile变量
setenv:
@echo "export DYLD_LIBRARY_PATH=."
@echo "export DYLD_INSERT_LIBRARIES=$(NAME).so"
@echo "export DYLD_FORCE_FLAT_NAMESPACE=1"
@echo "# Run eval $$(make setenv)"
所以,在我的终端上运行eval $(make setenv)
,环境变量将被设置。
但它开始了一个无限循环。
我也尝试:
\$(make setenv)
,但没有工作......,这是什么正确的语法?
编辑:
\$$(make setenv)
的伎俩!
你想达到什么目的?为什么导出命令会回显? '$$(...)'将扩展为'$(...)',这是shell替换。 –
它写在最后一行,命令被回显使用'eval'来启动它们。我发现比'$(shell export ...)更清洁' –
如果您只是使用Makefile为其他设置设置环境变量,shell脚本将更适合您。如果您需要其他食谱的变量,请参阅我的答案。 –