src/apps/myapp/myapp
automake ルールの一部として作成しているプログラムがあり、正しく動作しています。
次に、これを Makefile ルールで使用して HTML ファイルを生成します。
.src.html: src/apps/myapp/myapp
src/apps/myapp/myapp --html $< > /tmp/generated && \
mv /tmp/generated $@
html: data/src/example.html src/apps/myapp/myapp
これは、実行時にビルドsrc/apps/myapp/myapp
および生成されるdata/src/example.html
という点で機能します。data/src/example.src
make html
変更するdata/src/example.src
と、正しく再生されdata/src/example.html
ます。
問題は、src/apps/myapp/myapp
変更すると再生成されないことdata/src/example.html
です。また、src/apps/myapp/myapp
プログラムは HTML ファイルの後にビルドされます (つまり、html
ターゲットの依存関係のみを使用し、.src.html
ルールの依存関係は使用しません)。
アップデート:
GNU Make を使用すると、次のように変更できます。
.src.html: src/apps/myapp/myapp
に:
%.html : %.src src/apps/myapp/myapp
これは意図したとおりに機能しますが、GNU make 拡張機能に依存しています。これをポータブルな方法で行うことはできますか?