X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=icons%2FMakefile;h=3bdba19c3e09219d8fbc50cbdfcbaeeae528af46;hb=1de7240eb88fa24a8532ded116b4ec72dd213008;hp=ef55d498a792f62274fc5845a0f9165a958f74c8;hpb=a8bdd536c89c12101fcee49b957a2367c0e7d7b4;p=PuTTY.git diff --git a/icons/Makefile b/icons/Makefile index ef55d498..3bdba19c 100644 --- a/icons/Makefile +++ b/icons/Makefile @@ -1,35 +1,49 @@ # Makefile for the PuTTY icon suite. -ICONS = putty puttycfg puttygen pscp pageant pterm ptermcfg -SIZES = 16 32 48 +ICONS = putty puttycfg puttygen pscp pageant pterm ptermcfg puttyins +SIZES = 16 32 48 128 MODE = # override to -it on command line for opaque testing -PNGS = $(foreach I,$(ICONS),$(foreach S,$(SIZES),$(I)-$(S).png)) -MONOPNGS = $(foreach I,$(ICONS),$(foreach S,$(SIZES),$(I)-$(S)-mono.png)) -TRUEPNGS = $(foreach I,$(ICONS),$(foreach S,$(SIZES),$(I)-$(S)-true.png)) +PAMS = $(foreach I,$(ICONS),$(foreach S,$(SIZES),$(I)-$(S).pam)) +MONOPAMS = $(foreach I,$(ICONS),$(foreach S,$(SIZES),$(I)-$(S)-mono.pam)) +TRUEPAMS = $(foreach I,$(ICONS),$(foreach S,$(SIZES),$(I)-$(S)-true.pam)) -ICOS = putty.ico puttygen.ico pscp.ico pageant.ico pageants.ico puttycfg.ico +PNGS = $(patsubst %.pam,%.png,$(PAMS)) +MONOPNGS = $(patsubst %.pam,%.png,$(MONOPAMS)) +TRUEPNGS = $(patsubst %.pam,%.png,$(TRUEPAMS)) + +ICOS = putty.ico puttygen.ico pscp.ico pageant.ico pageants.ico puttycfg.ico \ + puttyins.ico +ICNS = PuTTY.icns Pterm.icns CICONS = xpmputty.c xpmpucfg.c xpmpterm.c xpmptcfg.c base: icos cicons -all: pngs monopngs base # truepngs currently disabled by default +all: pngs monopngs base icns # truepngs currently disabled by default pngs: $(PNGS) monopngs: $(MONOPNGS) truepngs: $(TRUEPNGS) icos: $(ICOS) +icns: $(ICNS) cicons: $(CICONS) -$(PNGS): %.png: mkicon.py +install: icos cicons + cp $(ICOS) ../windows + cp $(CICONS) ../unix + +$(PAMS): %.pam: mkicon.py ./mkicon.py $(MODE) $(join $(subst -, ,$(basename $@)),_icon) $@ -$(MONOPNGS): %.png: mkicon.py +$(PNGS) $(MONOPNGS) $(TRUEPNGS): %.png: %.pam + convert $< $@ + +$(MONOPAMS): %.pam: mkicon.py ./mkicon.py -2 $(MODE) $(join $(subst -, ,$(subst -mono,,$(basename $@))),_icon) $@ -$(TRUEPNGS): %.png: mkicon.py +$(TRUEPAMS): %.pam: mkicon.py ./mkicon.py -T $(MODE) $(join $(subst -, ,$(subst -true,,$(basename $@))),_icon) $@ putty.ico: putty-16.png putty-32.png putty-48.png \ @@ -55,6 +69,22 @@ pscp.ico: pscp-16.png pscp-32.png pscp-48.png \ pscp-16-mono.png pscp-32-mono.png pscp-48-mono.png ./icon.pl -4 $(filter-out %-mono.png, $^) -1 $(filter %-mono.png, $^) > $@ +# Because the installer icon makes heavy use of brown when drawing +# the cardboard box, it's worth having 8-bit versions of it in +# addition to the 4- and 1-bit ones. +puttyins.ico: puttyins-16.png puttyins-32.png puttyins-48.png \ + puttyins-16-mono.png puttyins-32-mono.png \ + puttyins-48-mono.png \ + puttyins-16-true.png puttyins-32-true.png \ + puttyins-48-true.png + ./icon.pl -8 $(filter %-true.png, $^) \ + -4 $(filter-out %-true.png, $(filter-out %-mono.png, $^)) \ + -1 $(filter %-mono.png, $^) > $@ + +# Icon for the website. (This isn't linked into "make all".) +website.ico: putty-16.png + ./icon.pl -4 $^ >$@ + xpmputty.c: putty-16.png putty-32.png putty-48.png ./cicon.pl main_icon $^ > $@ @@ -67,5 +97,25 @@ xpmpterm.c: pterm-16.png pterm-32.png pterm-48.png xpmptcfg.c: ptermcfg-16.png ptermcfg-32.png ptermcfg-48.png ./cicon.pl cfg_icon $^ > $@ +PuTTY.icns: putty-16-mono.pam putty-16.pam \ + putty-32-mono.pam putty-32.pam \ + putty-48-mono.pam putty-48.pam \ + putty-128.pam + ./macicon.py mono:putty-16-mono.pam colour:putty-16.pam \ + mono:putty-32-mono.pam colour:putty-32.pam \ + mono:putty-48-mono.pam colour:putty-48.pam \ + colour:putty-128.pam \ + output:$@ + +Pterm.icns: pterm-16-mono.pam pterm-16.pam \ + pterm-32-mono.pam pterm-32.pam \ + pterm-48-mono.pam pterm-48.pam \ + pterm-128.pam + ./macicon.py mono:pterm-16-mono.pam colour:pterm-16.pam \ + mono:pterm-32-mono.pam colour:pterm-32.pam \ + mono:pterm-48-mono.pam colour:pterm-48.pam \ + colour:pterm-128.pam \ + output:$@ + clean: - rm -f *.png *.ico *.c + rm -f *.pam *.png *.ico *.icns *.c