annotate source/Makefile @ 671:09c76e7ce675

Icon generation in Makefile
author Stefano Rivera <stefano@rivera.za.net>
date Sun, 08 Sep 2013 18:12:44 +0200
parents eba98879f47f
children 62b9eac8e236
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
671
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
1 IMG_SOURCES = $(shell find images -name '*.svg')
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
2 IMG_TARGETS = $(patsubst %.svg,../data/%.png,$(IMG_SOURCES))
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
3 ICONS = _16.png _32.png _64.png _128.png .xpm .icns .ico
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
4 ICO_TARGETS = $(patsubst %,../data/icons/werewolf-sonata%,$(ICONS))
43
bfef0827b171 Optional optimization
Stefano Rivera <stefano@rivera.za.net>
parents: 36
diff changeset
5 OPTIMIZE = 1
36
56d1b336ffda Render SVGs to PNG
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
6
671
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
7 all: $(IMG_TARGETS) $(ICO_TARGETS)
36
56d1b336ffda Render SVGs to PNG
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
8
56d1b336ffda Render SVGs to PNG
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
9 clean:
671
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
10 rm -f $(IMG_TARGETS)
36
56d1b336ffda Render SVGs to PNG
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
11
231
eba98879f47f Avoid indirection in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 48
diff changeset
12 ../data/%.png: %.svg
eba98879f47f Avoid indirection in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 48
diff changeset
13 mkdir -p $(dir $@)
45
529395304216 Export with inkscape. rsvg got the eyes wrong
Stefano Rivera <stefano@rivera.za.net>
parents: 44
diff changeset
14 inkscape --export-png $@ --export-dpi 9 $<
43
bfef0827b171 Optional optimization
Stefano Rivera <stefano@rivera.za.net>
parents: 36
diff changeset
15 ifeq ($(OPTIMIZE),1)
36
56d1b336ffda Render SVGs to PNG
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
16 optipng -o4 -preserve $@
56d1b336ffda Render SVGs to PNG
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
17 advpng -z4 $@
43
bfef0827b171 Optional optimization
Stefano Rivera <stefano@rivera.za.net>
parents: 36
diff changeset
18 endif
671
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
19
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
20 ../data/icons/%_1024.png: icons/%.svg
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
21 inkscape --export-png $@ --export-width 1024 --export-height 1024 $<
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
22
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
23 ../data/icons/%_512.png: icons/%.svg
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
24 inkscape --export-png $@ --export-width 512 --export-height 512 $<
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
25
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
26 ../data/icons/%_256.png: icons/%.svg
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
27 inkscape --export-png $@ --export-width 256 --export-height 256 $<
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
28 ifeq ($(OPTIMIZE),1)
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
29 optipng -o4 -preserve $@
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
30 advpng -z4 $@
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
31 endif
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
32
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
33 ../data/icons/%_128.png: icons/%.svg
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
34 inkscape --export-png $@ --export-width 128 --export-height 128 $<
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
35 ifeq ($(OPTIMIZE),1)
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
36 optipng -o4 -preserve $@
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
37 advpng -z4 $@
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
38 endif
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
39
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
40 ../data/icons/%_64.png: icons/%.svg
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
41 inkscape --export-png $@ --export-width 64 --export-height 64 $<
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
42 ifeq ($(OPTIMIZE),1)
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
43 optipng -o4 -preserve $@
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
44 advpng -z4 $@
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
45 endif
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
46
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
47 ../data/icons/%_48.png: icons/%.svg
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
48 inkscape --export-png $@ --export-width 48 --export-height 48 $<
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
49
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
50 ../data/icons/%_32.png: icons/%.svg
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
51 inkscape --export-png $@ --export-width 32 --export-height 32 $<
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
52 ifeq ($(OPTIMIZE),1)
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
53 optipng -o4 -preserve $@
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
54 advpng -z4 $@
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
55 endif
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
56
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
57 ../data/icons/%_16.png: icons/%.svg
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
58 inkscape --export-png $@ --export-width 16 --export-height 16 $<
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
59 ifeq ($(OPTIMIZE),1)
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
60 optipng -o4 -preserve $@
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
61 advpng -z4 $@
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
62 endif
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
63
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
64 %.xpm: %_32.png
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
65 convert $< $@
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
66
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
67 %.icns: %_16.png %_32.png %_48.png %_128.png %_256.png %_512.png %_1024.png
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
68 png2icns $@ $^
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
69
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
70 %.ico: %_16.png %_32.png %_64.png %_48.png %_128.png %_256.png
09c76e7ce675 Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents: 231
diff changeset
71 icotool -c -o $@ $(filter-out %_256.png,$^) --raw=$(filter %_256.png,$^)