2010-05-04 71 views
1

編寫Makefile的優勢在於,「make」通常假定存在於各種Unices(主要是Linux和Mac)上。等同於此Makefile的Windows

現在我有下面的Makefile:

PYTHON := python 

all: e installdeps 

e: 
     virtualenv --distribute --python=${PYTHON} e 

installdeps: 
     e/bin/python setup.py develop 
     e/bin/pip install unittest2 

test: 
     e/bin/unit2 discover 

clean: 
     rm -rf e 

正如你所看到的這個Makefile使用簡單的指標和變量替換。這可以在Windows上實現嗎?這意味着 - 無需安裝外部工具(如cygwin make);也許make.cmd?例如,鍵入「make installdeps」應該可以在Unix和Windows上使用。

回答

4

這樣的事很簡單,是的。但是,如果您想繼續改進makefile,可以考慮使用更便攜的語言編寫「makefile」(而不是安裝腳本)。你必須有一些假設。如果它是一個python項目,我相信你會假設安裝了python。所以在python中寫下你的makefile的等價物。

+0

沿着這些路線,你可能想看看Scons,這是一個用Python編碼的構建系統。 – 2010-05-04 19:53:13

+1

好點,但它是一個額外的安裝包。至少在一個python項目中,你可以假設已經安裝了python,儘管它是用python編寫的,但是可以假定scons已經安裝了太多了。 – dlamotte 2010-05-04 20:04:18

+1

Scons是我見過的最醜陋的Python代碼中的一些。 – 2010-05-04 20:12:32