2017-06-23 6 views
0

私のパッケージにはいくつかのデータファイルがあります。彼らはディレクトリ内の74ファイルです。 automake manualセクションによると9.3のアーキテクチャに依存しないデータファイル私は彼らにあまりにも多くのタイピングをだ個別automakeでデータディレクトリ内のすべてのファイルを配布する方法

dist_pkgdata_DATA = mydir/file1 mydir/file2 ..... mydir/file74 

を一覧表示することができます。いずれも良い解決策を提案できますか? このような問題のためにslightly different solutionがありますが、これは基本的には同じメカニズムです(手動ですべてのファイルをリストします)。プログラマは怠け者なので、入力したくありません。さらに、新しいファイルを追加するか古いファイルを削除する必要があるたびに、Makefile.amを更新する必要があります。

答えて

0

the compressed file approachにファイルをリストしたくない場合、インストール/アンインストールフックは、特に本質的に「書き込み専用」の場合、多くのファイルに対して妥当なアプローチのように見えます。

あなたはそれらのファイルが正常に検査可能にしたい場合は以下のように何かをする必要があります:一部はdist_接頭辞によるものです

MYDIR = mydir 
EXTRA_DIST = $(MYDIR) 

install-data-local: 
     test -z $(pkgdatadir) || $(MKDIR_P) $(pkgdatadir) 
     find "$(MYDIR)" -type f -exec $(INSTALL_DATA) {} $(pkgdatadir) \; 

「あまりにも多くのタイピングを」 - automakeは、パッケージ化するように言われていますそれらのファイルを配布用tarball用にアップします。一方、EXTRA_DISTはディレクトリの全内容をtarballに含めますが、後でこれらのファイルをどう処理するかを指定する必要があります。そして、実際にはチェックもしていません。 mydirに2つのファイルまたは74のファイルがある場合は、すべてautomakeと同じです。

それを解決する別の方法は、(autoreconfが呼び出される前に)bootstrap.shで別のプログラムを有していて、その後Makefile.amincludedあるdist_pkgdata_DATAを定義するメイクファイルの断片を作ることです。これでも正しいファイル数の問題は解決しません。

関連する問題