簡単に言えば、開発中のプロジェクトの中にある "buildconf.py.am.in"ファイルを使いました。 autotoolsの専門家ではない(私はこの仕事のためにそれらを学ばなければならなかった)、これは私にとって非常に奇妙なようだ。その内部には2つの[email protected]@
と2つのVAR=[@]VAR[@]
があります。".am.in"?それを生成せずに ".in"と書いても大丈夫ですか?
どのように ".am.in"が存在する可能性がありますか?私にとって、これは、.in(または.py、多分)を生成するために使用される.amを生成するために.inを書くことを意味します。それは「合法」か、それとも「固定」すべきか?したがって、configure
のステップの後に、私はmake
プロセス中に.pyを生成するために使用される "buildconf.py.am"を持っています。以下の内容が含まれています。
do_subst = sed -e 's,\[@\]APP_VARDIR\[@\],$(localstatedir)/app/,g' \
-e 's,\[@\]APP_LOGDIR\[@\],$(logdir),g'
buildconf.py: buildconf.py.am
$(do_subst) < $(srcdir)/buildconf.py.am > buildconf.py
「正常」または「許容」ですか?私はすべてを統合しようとしているので、すべてが「扱いにくく、更新するのが難しくなっているので、それは私にとって巨大な修正の1つのようです。
TY!
EDIT:例えばDATADIRまたはソフトインストールディレクトリとして
スクリプトはほとんど「プラグイン」で使用されるフォルダのパスを定義し、このように必要なもの。また、これらのプラグインで使用されるフォルダ構造を定義して、いわゆるプラグインのPythonコードでインポートできるようにします。さらに、これらの「プラグイン」は実際にはアプリケーションのサーバー/ルーティング層です。
buildconf.py.am.in
ファイルは生成されず、手作業で書き込まれます。buildconf.py.am
はそれができるかAC_CONFIG_FILES
で他の人(の中で宣言されている?buildoncf.py.am.in
ファイル「次に作るためにbuildconf.py.am.in.in
を生成するために使用される、その横にbuildconf.py.am.in.am
がなければならない」伝えることになって...しかし、すべてです我々は欲しいと取得するbuildconf.py
です);configure
を実行すると、buildconf.py.am
が生成されます。設定された変数は、mongoDBプラグインとWeb UIプラグインが提供されているかどうかを示す2つのブール値です。make
は、それが保持する定数が必要な場合にインポートされる最終的なbuildconf.py
を生成します。この段階では、configure段階で変数が展開される必要があるため、この時点で実行されます。
まず、ありがとうございます。単に開発者が ".in"と ".am"の役割を誤解し、autotoolsの優れた実践や何かを誤解している可能性があります。 autotoolsは「天才同僚」(誰が良い開発者かを知っている人、悪い人...)によって課されているためです。 私はちょっと迷っています:私はautotoolsの分野では大きな騒ぎですが、私の専門家はすでに私には絶対に厄介なautotoolsの知識の面で私の後ろにいるように感じています。どんなに重要な部分は、これが明確になっているので、私は物事を悪い方法でやっていないと確信することができます:) – Shirraz