如何製作Makefile,因爲這是通過源代碼分發程序的最佳方式。請記住,這是一個C++程序,我開始在C開發世界。但是可以爲我的Python程序創建一個Makefile嗎?製作Makefile
回答
從你的問題來看,它聽起來像是一個教程,或者是Makefiles實際上做什麼的概述可能會使你受益。
一個好的開始是GNU Make文檔。
它包含以下概述「make實用程序自動確定需要重新編譯哪些大型程序,併發出重新編譯它們的命令。」
而其前三個章節包括:
- 概述使
- 簡介Makefile文件
- 寫Makefile文件
我使用的Makefile一些Python項目,但是這是非常可疑的。我做這樣的事情:
SITE_ROOT=/var/www/apache/...
site_dist:
cp -a assets/css build/$(SITE_ROOT)/css
cp -a src/public/*.py build/$(SITE_ROOT)
等。 Makefile不過是批處理執行系統(而且相當複雜)。您可以像使用GCC一樣使用普通的Python工具(生成.pyc和其他工具)。
PY_COMPILE_TOOL=pycompiler
all: myfile.pyc
cp myfile.pyc /usr/share/python/...wherever
myfile.pyc: <deps>
$(PY_COMPILE_TOOL) myfile.py
然後
$ make all
等。只要像其他人一樣對待你的行動。你pycompiler
可能是這樣簡單的東西:
#!/usr/bin/python
import py_compile
py_compile.compile(file_var)
或
$ python -mcompileall .
一些變化,是完全一樣的。 Makefiles沒什麼特別之處,只是自動執行和檢查文件是否需要更新的能力。
感謝Python部分幫助! – 2009-07-11 21:34:05
簡單Makefile
通常包括由每個目標執行一組目標,它的依賴,以及操作:
all: output.out
output.out: dependency.o dependency2.o
ld -o output.out dependency.o dependency2.o
dependency.o: dependency.c
gcc -o dependency.o dependency.c
dependency2.o: dependency2.c
gcc -o dependency2.o dependency2.c
目標all
(這是該示例中的第一個),並試圖建立其如果它們不存在或者不是最新的,則依賴關係。將在make
命令中沒有指定目標參數時運行。
如果你問有關創建Makefile文件的便攜形式,你可以嘗試看看http://www.cmake.org/cmake/project/about.html
對於Python程序,它們通常與以打造使用distutils
一個setup.py
腳本分佈式軟件。 distutils
有廣泛的documentation這應該是一個很好的起點。
等等...你想爲你的* Python *應用程序生成一個makefile文件?爲什麼? – 2009-07-11 21:23:58
是的,但我也想爲我的C項目。 Python MakeFile這只是一個想法。謝謝。 – 2009-07-11 21:26:03
你在騙我們嗎?秒在一個小時內放錯了問題http://stackoverflow.com/questions/1114658/download-file-using-c – 2009-07-11 22:13:58