Mercurial > nagslang
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 |
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 | 6 |
671
09c76e7ce675
Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents:
231
diff
changeset
|
7 all: $(IMG_TARGETS) $(ICO_TARGETS) |
36 | 8 |
9 clean: | |
671
09c76e7ce675
Icon generation in Makefile
Stefano Rivera <stefano@rivera.za.net>
parents:
231
diff
changeset
|
10 rm -f $(IMG_TARGETS) |
36 | 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 | 16 optipng -o4 -preserve $@ |
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,$^) |