独自の、プライベートソース、サポートされていないレガシーコードをコンパイルするための古いガイドラインに従います。一般的なシェルセッションは次のとおりです。
$ autoreconf -fi
src/Makefile.am:7: error: 'pkglibexecdir' is not a legitimate directory for 'PYTHON'
autoreconf: automake failed with exit status: 1
$ cat src/Makefile.am
pkglibexecdir = $(libexecdir)/packagename
nobase_pkglibexec_PYTHON = \
python_module_1.py
python_module_2.py
[...]
MAINTAINERCLEANFILES = Makefile.in
BUILT_SOURCES = some_source
some_source:
ln -s ../lib/python/some_source some_source
私はGNU Autoconfバージョン2.69を使用しています。同じプロジェクトの他のパッケージでも同様の問題があります。私はこの問題に対する迅速な解決策があると仮定していますが、自動化ツールにはあまり慣れておらず、Googleで見つけたほとんどのコンテンツは私にとってあまり意味がありません。
答え1
警察の監督を避けるには、いくつかのトリックを使用する必要がありますautomake
。バラよりhttps://www.gnu.org/software/automake/manual/html_node/Uniform.html:
この機能は、疑わしいディレクトリ/メインペアを診断するためにAutomakeが実行する完全性チェックを無視するためにも使用できます(まれに、これらのチェックは不要であり、実際に実行されていることを知っている場合)。たとえば、Automake は次の入力に対してエラーを発生させます。
# Forbidden directory combinations, automake will error out on this. pkglib_PROGRAMS = foo doc_LIBRARIES = libquux.a
しかし成功します:
# Work around forbidden directory combinations. Do not use this # without a very good reason! my_execbindir = $(pkglibdir) my_doclibdir = $(docdir) my_execbin_PROGRAMS = foo my_doclib_LIBRARIES = libquux.a