读取MinGW Makefile中的cmd.exe变量

时间:2012-02-01 16:18:59

标签: windows makefile mingw environment-variables echo

我在Makefile中编写安装,我需要在其中设置PATH环境。变量

在windows部分,我发现了以下内容:

  • set:使用set PATH="%PATH%;%CD%"我可以更改运行环境中的PATH。这有两个问题:
    • 环境是由make生成的cmd.exe,它会影响其变量并在关闭后立即删除效果
    • 即使上一个问题可以解决,调用cmd.exe的{​​{1}}仍然会关闭一天而修改后的make会丢失。
  • PATH:可永久更改环境的微软工具。变量。根据{{​​3}},这是执行此操作的唯一命令行选项。但是,使用setx会将路径转换为文字setx PATH "%PATH%;%CD%" -m,并且不会按内容替换变量!

请注意,我从%PATH%;%CD%调用make而不是cygwin或其他更像linux的修改后的Windows shell。我所说的是,尽管我可以在我的makefile中使用cmd.exe(而不是$(PATH)),但我无法使用%PATH%(而不是pwd)< / p>

另请注意,如果在cmd中我运行:

%CD%

它完美无缺。不知怎的,我需要让setx PATH "%PATH%;%CD%" -m 执行这个命令。

你知道如何解决这个问题,或者我有什么解决方法吗?

P.S。只是为了记录,Makefile中的make也回显了文字echo "%PATH%;%CD%",而不是让cmd.exe处理它

2 个答案:

答案 0 :(得分:0)

在当天,我使用Borland C ++免费命令行工具包含一个make版本,它与dos / windows命令行配合得很好。可能还在某处漂浮。

答案 1 :(得分:0)

解决方法:

创建一个.bat文件,将命令放在那里,然后从Makefile中调用它。

我仍然对Makefile中的直接修复感兴趣。