suwi/assets.mk
2025-11-11 23:15:54 +01:00

36 lines
986 B
Makefile

PRITE ?= libresprite
glsl := $(wildcard src/*.glsl)
frag := $(wildcard src/*.frag)
#shaders := ${glsl:src/%.glsl=out/%.shader} ${frag:src/%.frag=out/%.shader}
shaders := $(patsubst src/%,out/%.shader,${glsl:.glsl=} ${frag:.frag=})
pictures := $(patsubst src/%.ase,out/%.picture, $(wildcard src/*.ase))
out/suwi.assets: ${shaders} ${pictures} | out/assetsmk
printf '%s\0' $^ | sed -nz 'p;s:.*/::p' | $| -c0f out/suwi.assets -F - -N -
out/%.shader: src/%.glsl utl/vert.awk utl/frag.awk
awk -f utl/vert.awk $< > $@
printf '\0' >> $@
awk -f utl/frag.awk $< >> $@
printf '\0' >> $@
out/%.shader: src/%.frag utl/vert.awk utl/frag.awk src/default.glsl
awk -f utl/vert.awk src/default.glsl > $@
printf '\0' >> $@
cat $< >> $@
printf '\0' >> $@
out/%.png: src/%.ase
${PRITE} -b $< --save-as $@
out/%.picture: out/picmake out/%.png
$^ -o $@
out/picmake: utl/picmake.c
${CC} -o $@ $< -lpng
out/assetsmk: utl/assetsmk.c src/assread.c src/asswrite.c
${CC} -o $@ $^ -lz -I src/