f8668c1e |
1 | # Makefile for the PuTTY icon suite. |
2 | |
65fdaa9f |
3 | ICONS = putty puttycfg puttygen pscp pageant pterm ptermcfg puttyins |
f8668c1e |
4 | SIZES = 16 32 48 |
5 | |
6 | MODE = # override to -it on command line for opaque testing |
7 | |
8 | PNGS = $(foreach I,$(ICONS),$(foreach S,$(SIZES),$(I)-$(S).png)) |
9 | MONOPNGS = $(foreach I,$(ICONS),$(foreach S,$(SIZES),$(I)-$(S)-mono.png)) |
10 | TRUEPNGS = $(foreach I,$(ICONS),$(foreach S,$(SIZES),$(I)-$(S)-true.png)) |
11 | |
c21d122d |
12 | ICOS = putty.ico puttygen.ico pscp.ico pageant.ico pageants.ico puttycfg.ico \ |
65fdaa9f |
13 | puttyins.ico |
f8668c1e |
14 | CICONS = xpmputty.c xpmpucfg.c xpmpterm.c xpmptcfg.c |
15 | |
16 | base: icos cicons |
17 | |
18 | all: pngs monopngs base # truepngs currently disabled by default |
19 | |
20 | pngs: $(PNGS) |
21 | monopngs: $(MONOPNGS) |
22 | truepngs: $(TRUEPNGS) |
23 | |
24 | icos: $(ICOS) |
25 | cicons: $(CICONS) |
26 | |
733a5f4b |
27 | install: icos cicons |
28 | cp $(ICOS) ../windows |
29 | cp $(CICONS) ../unix |
30 | |
f8668c1e |
31 | $(PNGS): %.png: mkicon.py |
32 | ./mkicon.py $(MODE) $(join $(subst -, ,$(basename $@)),_icon) $@ |
33 | |
34 | $(MONOPNGS): %.png: mkicon.py |
35 | ./mkicon.py -2 $(MODE) $(join $(subst -, ,$(subst -mono,,$(basename $@))),_icon) $@ |
36 | |
37 | $(TRUEPNGS): %.png: mkicon.py |
38 | ./mkicon.py -T $(MODE) $(join $(subst -, ,$(subst -true,,$(basename $@))),_icon) $@ |
39 | |
40 | putty.ico: putty-16.png putty-32.png putty-48.png \ |
41 | putty-16-mono.png putty-32-mono.png putty-48-mono.png |
42 | ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@ |
43 | |
44 | puttycfg.ico: puttycfg-16.png puttycfg-32.png puttycfg-48.png \ |
45 | puttycfg-16-mono.png puttycfg-32-mono.png puttycfg-48-mono.png |
46 | ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@ |
47 | |
48 | puttygen.ico: puttygen-16.png puttygen-32.png puttygen-48.png \ |
49 | puttygen-16-mono.png puttygen-32-mono.png puttygen-48-mono.png |
50 | ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@ |
51 | |
52 | pageant.ico: pageant-16.png pageant-32.png pageant-48.png \ |
53 | pageant-16-mono.png pageant-32-mono.png pageant-48-mono.png |
54 | ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@ |
55 | |
56 | pageants.ico: pageant-16.png pageant-16-mono.png |
57 | ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@ |
58 | |
59 | pscp.ico: pscp-16.png pscp-32.png pscp-48.png \ |
60 | pscp-16-mono.png pscp-32-mono.png pscp-48-mono.png |
61 | ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@ |
62 | |
c21d122d |
63 | # Because the installer icon makes heavy use of brown when drawing |
64 | # the cardboard box, it's worth having 8-bit versions of it in |
65 | # addition to the 4- and 1-bit ones. |
65fdaa9f |
66 | puttyins.ico: puttyins-16.png puttyins-32.png puttyins-48.png \ |
67 | puttyins-16-mono.png puttyins-32-mono.png \ |
68 | puttyins-48-mono.png \ |
69 | puttyins-16-true.png puttyins-32-true.png \ |
70 | puttyins-48-true.png |
c21d122d |
71 | ./icon.pl -8 $(filter %-true.png, $^) \ |
72 | -4 $(filter-out %-true.png, $(filter-out %-mono.png, $^)) \ |
73 | -1 $(filter %-mono.png, $^) > $@ |
74 | |
7b4ed215 |
75 | # Icon for the website. (This isn't linked into "make all".) |
76 | website.ico: putty-16.png |
77 | ./icon.pl -4 $^ >$@ |
78 | |
f8668c1e |
79 | xpmputty.c: putty-16.png putty-32.png putty-48.png |
80 | ./cicon.pl main_icon $^ > $@ |
81 | |
82 | xpmpucfg.c: puttycfg-16.png puttycfg-32.png puttycfg-48.png |
83 | ./cicon.pl cfg_icon $^ > $@ |
84 | |
85 | xpmpterm.c: pterm-16.png pterm-32.png pterm-48.png |
86 | ./cicon.pl main_icon $^ > $@ |
87 | |
88 | xpmptcfg.c: ptermcfg-16.png ptermcfg-32.png ptermcfg-48.png |
89 | ./cicon.pl cfg_icon $^ > $@ |
90 | |
91 | clean: |
92 | rm -f *.png *.ico *.c |