Makefile に問題があります。
# Manage rendering of images
.PHONY: explode
all: explode anime.apng
out.ppm: file.code
./pgm -f $<
explode: out.ppm
split -d -a 3 --lines=$(N) --additional-suffix=.ppm $< frame
# Convert to multiple png
%.png: %.ppm
convert $< $@
optipng $@
# Assemble in one animated png
anime.apng: %.png
apngasm $@ frame000.png
私の問題は、最終ターゲットを生成するために必要な中間ファイルの数がわからないため、事前に指定できないことです。概略的に:
1 file.code -> 1 out.ppm |> LOADS of .ppm |> LOADS of .png -> 1 anime.apng
+> … +> …
+> … +> …
そのために、暗黙のルールを使用します%.png: %.ppm
。しかし、最後のマージ ステップの前提条件を指定できません。何か案は?make以外のツールで?何かエレガント?