56 lines
1.4 KiB
Makefile
56 lines
1.4 KiB
Makefile
|
|
##### Variables #####
|
|
SVGs := $(shell find . -type f -name "*.svg" -not -path "./sources/*" | sort)
|
|
# $(info SVGs: $(SVGs))
|
|
|
|
SIGHTS := $(SVGs:.svg=.png)
|
|
|
|
CARDS := $(foreach s,$(SVGs),\
|
|
$(foreach i,1 2 3 4,\
|
|
$(subst .svg,_card_$(i).png,$(s))))
|
|
|
|
|
|
##### Generic targets #####
|
|
all: sights cards galleries
|
|
sights: $(SIGHTS)
|
|
cards: $(CARDS)
|
|
galleries: gallery_cards.png gallery_sights.png
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -f $(SIGHTS)
|
|
rm -f $(CARDS)
|
|
rm gallery_cards.png gallery_sights.png
|
|
|
|
|
|
#### Galleries #####
|
|
gallery_sights.png: $(SIGHTS)
|
|
montage -label '%[Title]\n© %[Author] — %[Creation Time] — %[Copyright]' $(SIGHTS) -title "Hanafuda by nojhan" -geometry 1024 -borderwidth 20 -frame 7 -shadow -tile 1x $@
|
|
|
|
gallery_cards.png: $(CARDS)
|
|
montage $(CARDS) -title "Hanafuda by nojhan" -geometry 256 -borderwidth 10 -frame 4 -mattecolor black -shadow -tile 4x $@
|
|
|
|
|
|
##### Sights #####
|
|
define sight_template =
|
|
$(1:.svg=.png): $(1)
|
|
inkscape --without-gui --export-width=1024 --export-area-page --export-png=$(1:.svg=.png) $(1)
|
|
endef
|
|
|
|
$(foreach s,$(SVGs),\
|
|
$(eval $(call sight_template,$(s)))\
|
|
)
|
|
|
|
|
|
##### Cards #####
|
|
define card_template =
|
|
$(1:.svg=_card_$(2).png): $(1)
|
|
inkscape --without-gui --export-height=800 --export-id=card_$(i) --export-png=$(1:.svg=_card_$(2).png) $(1)
|
|
endef
|
|
|
|
$(foreach s,$(SVGs),\
|
|
$(foreach i,1 2 3 4,\
|
|
$(eval $(call card_template,$(s),$(i)))\
|
|
)\
|
|
)
|
|
|