]> asedeno.scripts.mit.edu Git - PuTTY.git/blob - icons/Makefile
first pass
[PuTTY.git] / icons / Makefile
1 # Makefile for the PuTTY icon suite.
2
3 ICONS = putty puttycfg puttygen pscp pageant pterm ptermcfg puttyins
4 SIZES = 16 32 48 128
5
6 MODE = # override to -it on command line for opaque testing
7
8 PAMS = $(foreach I,$(ICONS),$(foreach S,$(SIZES),$(I)-$(S).pam))
9 MONOPAMS = $(foreach I,$(ICONS),$(foreach S,$(SIZES),$(I)-$(S)-mono.pam))
10 TRUEPAMS = $(foreach I,$(ICONS),$(foreach S,$(SIZES),$(I)-$(S)-true.pam))
11
12 PNGS = $(patsubst %.pam,%.png,$(PAMS))
13 MONOPNGS = $(patsubst %.pam,%.png,$(MONOPAMS))
14 TRUEPNGS = $(patsubst %.pam,%.png,$(TRUEPAMS))
15
16 ICOS = putty.ico puttygen.ico pscp.ico pageant.ico pageants.ico puttycfg.ico \
17        puttyins.ico
18 ICNS = PuTTY.icns Pterm.icns
19 CICONS = xpmputty.c xpmpucfg.c xpmpterm.c xpmptcfg.c
20
21 base: icos cicons
22
23 all: pngs monopngs base icns # truepngs currently disabled by default
24
25 pngs: $(PNGS)
26 monopngs: $(MONOPNGS)
27 truepngs: $(TRUEPNGS)
28
29 icos: $(ICOS)
30 icns: $(ICNS)
31 cicons: $(CICONS)
32
33 install: icos cicons
34         cp $(ICOS) ../windows
35         cp $(CICONS) ../unix
36
37 $(PAMS): %.pam: mkicon.py
38         ./mkicon.py $(MODE) $(join $(subst -, ,$(basename $@)),_icon) $@
39
40 $(PNGS) $(MONOPNGS) $(TRUEPNGS): %.png: %.pam
41         convert $< $@
42
43 $(MONOPAMS): %.pam: mkicon.py
44         ./mkicon.py -2 $(MODE) $(join $(subst -, ,$(subst -mono,,$(basename $@))),_icon) $@
45
46 $(TRUEPAMS): %.pam: mkicon.py
47         ./mkicon.py -T $(MODE) $(join $(subst -, ,$(subst -true,,$(basename $@))),_icon) $@
48
49 putty.ico: putty-16.png putty-32.png putty-48.png \
50            putty-16-mono.png putty-32-mono.png putty-48-mono.png
51         ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@
52
53 puttycfg.ico: puttycfg-16.png puttycfg-32.png puttycfg-48.png \
54               puttycfg-16-mono.png puttycfg-32-mono.png puttycfg-48-mono.png
55         ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@
56
57 puttygen.ico: puttygen-16.png puttygen-32.png puttygen-48.png \
58               puttygen-16-mono.png puttygen-32-mono.png puttygen-48-mono.png
59         ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@
60
61 pageant.ico: pageant-16.png pageant-32.png pageant-48.png \
62              pageant-16-mono.png pageant-32-mono.png pageant-48-mono.png
63         ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@
64
65 pageants.ico: pageant-16.png pageant-16-mono.png
66         ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@
67
68 pscp.ico: pscp-16.png pscp-32.png pscp-48.png \
69           pscp-16-mono.png pscp-32-mono.png pscp-48-mono.png
70         ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@
71
72 # Because the installer icon makes heavy use of brown when drawing
73 # the cardboard box, it's worth having 8-bit versions of it in
74 # addition to the 4- and 1-bit ones.
75 puttyins.ico: puttyins-16.png puttyins-32.png puttyins-48.png \
76               puttyins-16-mono.png puttyins-32-mono.png \
77               puttyins-48-mono.png \
78               puttyins-16-true.png puttyins-32-true.png \
79               puttyins-48-true.png
80         ./icon.pl -8 $(filter %-true.png, $^) \
81                   -4 $(filter-out %-true.png, $(filter-out %-mono.png, $^)) \
82                   -1 $(filter %-mono.png, $^) > $@
83
84 # Icon for the website. (This isn't linked into "make all".)
85 website.ico: putty-16.png
86         ./icon.pl -4 $^ >$@
87
88 xpmputty.c: putty-16.png putty-32.png putty-48.png
89         ./cicon.pl main_icon $^ > $@
90
91 xpmpucfg.c: puttycfg-16.png puttycfg-32.png puttycfg-48.png
92         ./cicon.pl cfg_icon $^ > $@
93
94 xpmpterm.c: pterm-16.png pterm-32.png pterm-48.png
95         ./cicon.pl main_icon $^ > $@
96
97 xpmptcfg.c: ptermcfg-16.png ptermcfg-32.png ptermcfg-48.png
98         ./cicon.pl cfg_icon $^ > $@
99
100 PuTTY.icns: putty-16-mono.pam putty-16.pam \
101             putty-32-mono.pam putty-32.pam \
102             putty-48-mono.pam putty-48.pam \
103             putty-128.pam
104         ./macicon.py mono:putty-16-mono.pam colour:putty-16.pam \
105                      mono:putty-32-mono.pam colour:putty-32.pam \
106                      mono:putty-48-mono.pam colour:putty-48.pam \
107                                             colour:putty-128.pam \
108                 output:$@
109
110 Pterm.icns: pterm-16-mono.pam pterm-16.pam \
111             pterm-32-mono.pam pterm-32.pam \
112             pterm-48-mono.pam pterm-48.pam \
113             pterm-128.pam
114         ./macicon.py mono:pterm-16-mono.pam colour:pterm-16.pam \
115                      mono:pterm-32-mono.pam colour:pterm-32.pam \
116                      mono:pterm-48-mono.pam colour:pterm-48.pam \
117                                             colour:pterm-128.pam \
118                 output:$@
119
120 clean:
121         rm -f *.pam *.png *.ico *.icns *.c