在Windows上使用MinGW32-make.exe将环境路径更改为makefile

时间:2014-12-18 09:22:21

标签: windows makefile mingw mingw-w64

我有一个makefile,我想在Windows上使用MinGW编译DLL。

这个项目我要编译成32& 64位。

我将MinGW32安装到带有x86编译器的C:\MinGW32和带有x64编译器的C:\MinGW64

makefile根据目标使用一个或另一个路径,但我遇到的问题是我需要在全局环境路径上指定C:\MinGWxx\bin,因为它需要bin目录的一些DLL。 / p>

我尝试了一些类似的解决方案 Specifying path in makefile (GNU make on Windows),但它无效。

在此版本的操作系统中似乎没有重新导出导出(或者不支持make)。

我试图把

SET Path=$(PATH_DVL_x86)\bin;$(PATH_DVL_x86)\msys\1.0\bin;${PATH}

这不会返回错误,但环境路径没有变化。

1 个答案:

答案 0 :(得分:2)

您需要使用.ONESHELL特殊目标强制配方在一个shell中运行所有命令:

.ONESHELL:

.PHONY: all anotherRule

all:
    @ECHO OFF
    ECHO %PATH% # Will echo your PATH environment variable content
    SET PATH=%PATH%;toto
    ECHO %PATH% # Will echo your PATH + ";toto" appended to it

anotherRule:
    @ECHO OFF
    ECHO %PATH% # Will echo your PATH without ";toto", as expected

现在可以轻松编写特定规则以用于不同的编译器:

all-x86: CC := mingw32-gcc
all-x86: ...
    ...

all-64: CC := mingw64-gcc
all-64: ...
    ...