我有一个简单的Makefile:
app : app.cpp
g++ -c app.cpp -o app
但我的应用程序要求设置var
环境变量(var:=“/ etc / file.cfg”),如何在Makefile中执行此操作?我的意思是,在我运行命令make Makefile
之后如何做到这一点我能做到这一点:
mazix@computer:~/Desktop/ echo $(var)
我可以看到“/etc/file.cfg”吗?
答案 0 :(得分:4)
进程无法在其父进程中设置环境变量;这就是UNIX的工作原理。
您可以创建一个设置变量并运行程序的小脚本。如果脚本的内容有些变化,您可以编写Makefile来为您生成脚本:
#!/bin/bash
export my_var=12345_mazix
./app
或者,您的Makefile可以显示一个要复制并粘贴到~/.profile
文件中的字符串,其中包含用于设置这些环境变量的命令或命令:
export my_var=12345_mazix