制作一个Makefile

Nat*_*pos 2 c c++ python makefile

我如何制作Makefile,因为这是通过源代码分发程序时的最佳方式.请记住,这是针对C++程序的,我是从C开发世界开始的.但是有可能为我的Python程序制作一个Makefile吗?

And*_*ler 11

从您的问题来看,它听起来像是一个教程或Makefiles实际上做的概述可能会让您受益.

一个好的起点是GNU Make文档.

它包括以下概述"make实用程序自动确定需要重新编译大型程序的哪些部分,并发出命令以重新编译它们."

其前三章涵盖:

  1. 制作概述
  2. Makefile简介
  3. 写Makefiles


Aid*_*ell 6

我对一些Python项目使用Makefiles,但这是非常可疑的...我做的事情如下:

SITE_ROOT=/var/www/apache/...

site_dist:
     cp -a assets/css build/$(SITE_ROOT)/css
     cp -a src/public/*.py build/$(SITE_ROOT)
Run Code Online (Sandbox Code Playgroud)

等等.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
Run Code Online (Sandbox Code Playgroud)

然后

$ make all
Run Code Online (Sandbox Code Playgroud)

等等.就像对待任何其他操作一样对待您 你pycompiler可能会像以下一样简单:

#!/usr/bin/python
import py_compile
py_compile.compile(file_var)
Run Code Online (Sandbox Code Playgroud)

或者一些变化

$ python -mcompileall .
Run Code Online (Sandbox Code Playgroud)

一切都是一样的.Makefile没什么特别的,只是自动执行和检查文件是否需要更新的能力.