从命令行执行makefile而不是从sh.exe执行

时间:2016-07-05 09:06:33

标签: python windows makefile sh gnu-make

我正在尝试安装带有C / C ++绑定的python包(PyQt4,popplerqt4)。当我尝试构建包(绑定所需的SIP包)时,我收到此错误:

/bin/sh: -c: line 1: syntax error:unexpected end of file

Error

在此安装guide中,他们建议

/bin/sh 

成为问题因为makefile是从windows命令行而不是从sh.exe运行的。

在GNU make 描述中我发现了这个:

Choosing the Shell

The program used as the shell is taken from the variable SHELL.
If this     variable is not set in your makefile, the program /bin/sh is 
used as the shell. The argument(s) passed to the shell are taken from the
variable .SHELLFLAGS. The default value of .SHELLFLAGS is -c normally, or   
-ec in POSIX-conforming mode.

所以我想知道如何停用sh.exe应用程序的自动使用以及如何更改shell以便从命令行运行makefile。

谢谢你!

1 个答案:

答案 0 :(得分:0)

根据您提到的文档,写一下:

SHELL := cmd

在你的makefile中(传统上靠近顶部)告诉make调用cmd 作为shell程序。 cmd是Windows shell。