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 | out/ 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 | out/ awk -f utl/vert.awk src/default.glsl > $@ printf '\0' >> $@ cat $< >> $@ printf '\0' >> $@ out/%.png: src/%.ase | out/ ${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/