我有一个主要用c++编写的项目,其中包括一些用python编写的助手脚本。目前,脚本包含由autotools替换的变量:
#!@PYTHON@
# -*- coding: utf-8 -*-
...
try:
datapath = os.environ['DATA_PATH']
except KeyError:
datapath = '@pkgdatadir@'下面是Makefile.am的摘录:
BUILT_SOURCES = script.py
nodist_python_PYTHON = script.py
CLEANFILES = $(python_PYTHON)
EXTRA_DIST = script.py.in
do_subst = sed -e 's,[@]PYTHON[@],$(PYTHON),g'\
-e 's,[@]pkgdatadir[@],$(pkgdatadir),g'
script.py: script.py.in
$(do_subst) < $< > $@
chmod +x $@这些脚本还具有一些模块依赖项,由setup.py脚本处理可能会更好。
那么,混合使用autotools和python distutils工具的最佳方式是什么呢?我应该完全依赖于自动工具吗?否则,我如何在Makefile.am中集成setup.py的启动?
发布于 2011-11-16 04:46:32
我会使用autoconf来设置script.py,而不是像你所展示的那样使用'make‘。类似于:
AC_CONFIG_FILES([script.py], [chmod +x script.py])在configure.ac中的AC_OUTPUT应该做到这一点之前。
https://stackoverflow.com/questions/8129836
复制相似问题