X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Fimages%2FMakefile;h=d5aa40507df3b5e4ef0cda5163c951d714e63a6e;hb=2e7a7b5cc603f406a1b88a911d9d935a2e017ef2;hp=771d8e81cb90299a0167e6621133e6b6a20c1d2d;hpb=d048987fc48fde78cef70d598c84c5d0269288d1;p=koperkapel.git diff --git a/koperkapel/images/Makefile b/koperkapel/images/Makefile index 771d8e8..d5aa405 100644 --- a/koperkapel/images/Makefile +++ b/koperkapel/images/Makefile @@ -1,50 +1,92 @@ -VPATH=../../sources/vector +VPATH=../../sources -SVGS=$(shell find $(VPATH) -name "*.svg") -PNGS=$(patsubst $(VPATH)/%.svg, %.png, $(SVGS)) -ROACH=$(filter roach/%, $(PNGS)) +# Vector tiles +TILE_DIRS=roach +TILE_SVGS=$(shell find $(patsubst %, $(VPATH)/vector/%, $(TILE_DIRS)) -name "*.svg") +TILE_PNGS=$(patsubst $(VPATH)/vector/%.svg, %.png, $(TILE_SVGS)) + +# Bitmap tiles + +BTILE_DIRS=wall floor tunnel underground +BTILE_SRC=$(shell find $(patsubst %, $(VPATH)/bitmap/%, $(BTILE_DIRS)) -name "*.png") +BTILE_PNGS=$(patsubst $(VPATH)/bitmap/%, %, $(BTILE_SRC)) + +# Vector images to rasterize without resizing + +SIMPLE_DIRS=roach_management vehicles +SIMPLE_SVGS=$(shell find $(patsubst %, $(VPATH)/vector/%, $(SIMPLE_DIRS)) -name "*.svg") +SIMPLE_PNGS=$(patsubst $(VPATH)/vector/%.svg, %.png, $(SIMPLE_SVGS)) + +# Aggregate cockroach sprites + +ROACH=$(filter roach/%, $(TILE_PNGS)) ROACH_32=$(patsubst roach/%, roach_32/%, $(ROACH)) ROACH_21=$(patsubst roach/%, roach_21/%, $(ROACH)) ROACH_QUARTET=$(patsubst roach/%, roach_quartet/%, $(ROACH)) ROACH_NONET=$(patsubst roach/%, roach_nonet/%, $(ROACH)) -all: $(PNGS) $(ROACH_32) $(ROACH_21) $(ROACH_QUARTET) $(ROACH_NONET) +# Default target with everything -# Default rule +all: $(TILE_PNGS) $(BTILE_PNGS) $(SIMPLE_PNGS)\ + $(ROACH_32) $(ROACH_21) $(ROACH_QUARTET) $(ROACH_NONET) -%.png: %.svg - @mkdir -p `dirname $@` - @inkscape -z -e $@ -w 64 -h 64 $< +# Vector tile rule + +define tile +$(1)/%.png: vector/$(1)/%.svg + @mkdir -p `dirname $$@` + @inkscape -z -e $$@ -w 64 -h 64 $$< +endef + +$(foreach tiledir,$(TILE_DIRS),$(eval $(call tile,$(tiledir)))) + +# No resize rule + +define simple +$(1)/%.png: vector/$(1)/%.svg + @mkdir -p `dirname $$@` + @inkscape -z -e $$@ $$< +endef + +$(foreach simpledir,$(SIMPLE_DIRS),$(eval $(call simple,$(simpledir)))) + +# Bitmap tile rule + +define btile +$(1)/%.png: bitmap/$(1)/%.png + @mkdir -p `dirname bunker/$$@` + @convert $$< -resize 64x64 bunker/$$@ +endef + +$(foreach tiledir,$(BTILE_DIRS),$(eval $(call btile,$(tiledir)))) # Smaller roaches -roach_32/%.png: roach/%.svg +roach_32/%.png: vector/roach/%.svg @mkdir -p `dirname $@` @inkscape -z -e $@ -w 32 -h 32 $< -roach_21/%.png: roach/%.svg +roach_21/%.png: vector/roach/%.svg @mkdir -p `dirname $@` @inkscape -z -e $@ -w 21 -h 21 $< # Roach quartet -roach_quartet/roach_%.png: roach_32/roach_*.png +roach_quartet/roach_%.png: $(foreach i, 1 2 3 4, roach_32/roach_$(i).png) @mkdir -p roach_quartet @montage $(foreach i, -1 0 1 2 , roach_32/roach_$$(( ( $(i) + $(patsubst roach_quartet/roach_%.png,%, $@) ) % 4 + 1 )).png) -geometry +0+0 -background none $@ -roach_quartet/eyes_%.png: roach_32/eyes_*.png +roach_quartet/eyes_%.png: $(foreach i, 1 2 3 4, roach_32/eyes_$(i).png) @mkdir -p roach_quartet @montage $(foreach i, -1 0 1 2 , roach_32/eyes_$$(( ( $(i) + $(patsubst roach_quartet/eyes_%.png,%, $@) ) % 4 + 1 )).png) -geometry +0+0 -background none $@ # Roach nonet -roach_nonet/roach_%.png: roach_21/roach_*.png +roach_nonet/roach_%.png: $(foreach i, 1 2 3 4, roach_21/roach_$(i).png) @mkdir -p roach_nonet @montage $(foreach i, -1 0 1 2 3 4 5 6 7 , roach_21/roach_$$(( ( $(i) + $(patsubst roach_nonet/roach_%.png,%, $@) ) % 4 + 1 )).png) -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 $@ -roach_nonet/eyes_%.png: roach_21/eyes_*.png +roach_nonet/eyes_%.png: $(foreach i, 1 2 3 4, roach_21/eyes_$(i).png) @mkdir -p roach_nonet @montage $(foreach i, -1 0 1 2 3 4 5 6 7 , roach_21/eyes_$$(( ( $(i) + $(patsubst roach_nonet/eyes_%.png,%, $@) ) % 4 + 1 )).png) -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 $@ - -