# Makefile for Puzzles icons.
-PUZZLES = blackbox bridges cube dominosa fifteen flip guess inertia lightup \
- loopy map mines net netslide pattern pegs rect samegame sixteen \
- slant solo tents twiddle untangle
+PUZZLES = blackbox bridges cube dominosa fifteen filling flip galaxies guess \
+ inertia lightup loopy map mines net netslide pattern pegs rect \
+ samegame sixteen slant solo tents twiddle unequal untangle
BASE = $(patsubst %,%-base.png,$(PUZZLES))
WEB = $(patsubst %,%-web.png,$(PUZZLES))
P16D8 = $(patsubst %,%-16d8.png,$(PUZZLES))
P16D4 = $(patsubst %,%-16d4.png,$(PUZZLES))
ICONS = $(patsubst %,%.ico,$(PUZZLES))
+CICONS = $(patsubst %,%-icon.c,$(PUZZLES))
RC = $(patsubst %,%.rc,$(PUZZLES))
BIN = ../
web: $(WEB)
pngicons: $(P48D24) $(P32D24) $(P16D24)
winicons: $(ICONS) $(RC)
+gtkicons: $(CICONS)
+all: base web pngicons winicons gtkicons
# Build the base puzzle screenshots from which all the other images
# are derived. Some of them involve showing a move animation
bridges-ibase.png : override CROP=264x264 107x107+157+157
dominosa-ibase.png : override CROP=304x272 152x152+152+0
fifteen-ibase.png : override CROP=240x240 120x120+0+120
+filling-ibase.png : override CROP=256x256 133x133+14+78
flip-ibase.png : override CROP=288x288 145x145+120+72
+galaxies-ibase.png : override CROP=288x288 165x165+0+0
guess-ibase.png : override CROP=263x420 178x178+75+17
inertia-ibase.png : override CROP=321x321 128x128+193+0
lightup-ibase.png : override CROP=256x256 112x112+144+0
solo-ibase.png : override CROP=321x321 97x97+16+16
tents-ibase.png : override CROP=320x320 165x165+142+0
twiddle-ibase.png : override CROP=192x192 102x102+69+21
+unequal-ibase.png : override CROP=208x208 104x104+104+104
untangle-ibase.png : override CROP=320x320 164x164+3+116
$(IBASE): %-ibase.png: %-base.png
$(PIC)crop.sh $^ $@ $(CROP)
# that on most modern Windows machines this won't matter too
# much...)
$(P48D4): %-48d4.png: %-ibase4.png
- $(PIC)square.pl 48 1 $^ tmp2.png
- convert -colors 16 -map $(PIC)win16pal.xpm tmp2.png $@
- rm -f tmp.png tmp2.png
+ $(PIC)square.pl 48 1 $^ $@-tmp2.png
+ convert -colors 16 -map $(PIC)win16pal.xpm $@-tmp2.png $@
+ rm -f $@-tmp2.png
$(P32D4): %-32d4.png: %-ibase.png
- $(PIC)square.pl 32 1 $^ tmp2.png
- convert -colors 16 -map $(PIC)win16pal.xpm tmp2.png $@
- rm -f tmp.png tmp2.png
+ $(PIC)square.pl 32 1 $^ $@-tmp2.png
+ convert -colors 16 -map $(PIC)win16pal.xpm $@-tmp2.png $@
+ rm -f $@-tmp2.png
$(P16D4): %-16d4.png: %-ibase.png
- $(PIC)square.pl 16 1 $^ tmp2.png
- convert -colors 16 -map $(PIC)win16pal.xpm tmp2.png $@
- rm -f tmp.png tmp2.png
+ $(PIC)square.pl 16 1 $^ $@-tmp2.png
+ convert -colors 16 -map $(PIC)win16pal.xpm $@-tmp2.png $@
+ rm -f $@-tmp2.png
# Build the actual Windows icons themselves, by feeding all those
# PNGs to my icon builder script.
$(ICONS): %.ico: %-48d24.png %-48d8.png %-48d4.png \
%-32d24.png %-32d8.png %-32d4.png \
%-16d24.png %-16d8.png %-16d4.png
- $(PIC)icon.pl $? > $@
+ $(PIC)icon.pl -24 $*-48d24.png $*-32d24.png $*-16d24.png \
+ -8 $*-48d8.png $*-32d8.png $*-16d8.png \
+ -4 $*-48d4.png $*-32d4.png $*-16d4.png > $@
# Build the .RC files which bind the icons into the applications.
$(RC): %.rc:
- echo '200 ICON "$*.ico"' > $@
+ echo '#include "puzzles.rc2"' > $@
+ echo '200 ICON "$*.ico"' >> $@
+
+# Build the GTK icon source files.
+$(CICONS): %-icon.c: %-16d24.png %-32d24.png %-48d24.png
+ $(PIC)cicon.pl $^ > $@
clean:
- rm -f *.png *.ico *.rc
+ rm -f *.png *.ico *.rc *-icon.c