2

我有一个简单的 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”?

4

1 回答 1

4

进程不能在其父进程中设置环境变量;这就是 UNIX 的工作原理。

您可以创建一个设置变量并运行程序的小脚本。如果脚本的内容有些可变,您可以编写 Makefile 来为您生成脚本:

#!/bin/bash
export my_var=12345_mazix
./app

或者,您的 Makefile 可以显示一个要复制并粘贴到~/.profile文件中的字符串,其中包含用于设置这些环境变量的一个或多个命令:

export my_var=12345_mazix
于 2012-07-30T13:18:33.327 回答