src/apps/myapp/myappautomake ルールの一部として作成しているプログラムがあり、正しく動作しています。
次に、これを 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 拡張機能に依存しています。これをポータブルな方法で行うことはできますか?