LOCAL=/usr/X11R6 #ifndef XCOMM #define XCOMM # #endif XCOMM Copyright (C) 1993 Nathan Sidwell XCOMM RCS $Id: Imakefile,v 4.57 1995/12/22 11:32:07 nathan Exp $ XCOMM specify if this is a transputer target XCOMM #define transputerbuild 1 XCOMM For full details of the switches herein, read the README file XCOMM Imake file for xmris V4.04 23 July 1995 VERSION = 4.04 APP = xmris /* Imake compatibility */ #ifndef MakeDir #define MakeDir(dir) mkdir dir #endif #ifndef InstallManPageAliases #define InstallManPageAliases(name,dir,target) \ install.man :: @@\ ln -s ./name.$(MANSUFFIX) $(DESTDIR)dir/target.$(MANSUFFIX) @@ #endif #ifndef NullParameter #define NullParameter #endif /* to inhibit app defaults installation */ /* #undef InstallAppDefFiles */ XCOMM compiler options XCOMM #if HasGcc EXTRACCOPTIONS = -Wall -Wpointer-arith -Wwrite-strings -Wtraditional #endif /* HasGcc */ #if defined(LinuxArchitecture) #define STATICDEBUG -static #else #define STATICDEBUG #endif XCOMM Is it a knr compiler which _doesn't_ have void? KNR = XCOMM KNR = -DSTRICTKNR XCOMM do you trust the code? XCOMM NDEBUG = XCOMM NDEBUG = -DNDEBUG XCOMM Allow debugging? XCOMM CDEBUGFLAGS = -g STATICDEBUG XCOMM debug event loop? XCOMM CDEBUGFLAGS += -DDEBUGEVENTLOOP #ifdef HPArchitecture CCOPTIONS = -Aa -D_HPUX_SOURCE EXTRA_LOAD_FLAGS = -lV3 #endif XCOMM system environment XCOMM XCOMM don't you have gettimeofday? TIME = XCOMM TIME = -DUSETIME XCOMM don't you have lockf or flock? LOCK = LOCK = -DUSELOCKFILE XCOMM game defaults, you probably only want to alter the SCORE XCOMM /* You must specify a fixed width font that exists. */ /* #define thefont "-*-courier-*-r-*-*-18-*-*-*-m-*-*-*" */ XCOMM where is the high score file? XCOMM SCORE = $(LOCAL)/lib/$(APP) SCORE = $(LIBDIR)/$(APP) /* to install default gardens not in app_defaults/$(APP) /* #define InstallDefaultGardens $(SCORE)/gardens */ XCOMM The following defines are needed for some implementations and/or sites. XCOMM It is xmkmf's job to get these right in the first place. XCOMM If you have to declare any of these, X may not be installed correctly. XCOMM XCOMM DEC station 5000 appears to require these includes XCOMM STD_INCLUDES = -I/usr/include/mit XCOMM and they require these two libraries changed XCOMM XLIB = -lXext-mit -lX11-mit XCOMM required for setuid, try one or the other, (the first is better) XCOMM EXTRA_LOAD_FLAGS = -R$(USRLIBDIR)$${LD_RUN_PATH+\:$$LD_RUN_PATH} XCOMM EXTRA_LOAD_FLAGS = -static XCOMM some X implementations and openwindows require the maths library XCOMM MATHSLIB = -lm XCOMM install parameters XCOMM #if transputerbuild XCOMM open access on the score file, 'cos transputers can't do setuid INSTSCOREFLAGS = -m 777 #else XCOMM owner and access rights for executable & score directory XCOMM these are set for a setuid xmris OWNER = -o games INSTSCOREFLAGS = $(OWNER) -m 755 INSTMRISFLAGS = $(OWNER) $(INSTUIDFLAGS) XCOMM normal install locations THEBINDIR = $(BINDIR) THEMANDIR = $(MANDIR) XCOMM for open access you want 777 and $(INSTPGMFLAGS), XCOMM (the personal score files go in users' home dirs.) XCOMM INSTSCOREFLAGS = -m 777 XCOMM INSTMRISFLAGS = $(INSTPGMFLAGS) XCOMM If you're not installing in the default locations XCOMM DESTDIR = XCOMM THEBINDIR = $(LOCAL)/bin XCOMM THEMANDIR = $(LOCAL)/man/man6 #endif /* transputerbuild */ #ifndef thefont #define thefont "-*-courier-*-r-*-*-18-*-*-*-m-*-*-*" #else XLSFONT = xlsfont #endif /* thefont */ FONT = thefont #ifndef InstallDefaultGardens #ifdef InstallAppDefFiles #define InstallDefaultGardens $(DESTDIR)/$(XAPPLOADDIR)/$(APP) #endif #endif #if transputerbuild #define object tco XCOMM transputer tools TOOLSET = /inmos/prod/d4314a ICC = $(TOOLSET)/tools/icc -WT ILINK = $(TOOLSET)/tools/ilink ICOLLECT = $(TOOLSET)/tools/icollect ILINKOPT = -f startup.lnk IINCLUDE = $(TOOLSET)/libs/ IXINCLUDE = /inmos/prod/iq/f011a/libs/ /inmos/prod/iq/f011a/include/ ITCPIPINCLUDE = /inmos/swgprod/s507b/libs/c/ ISEARCH = $(IINCLUDE) $(IXINCLUDE) $(ITCPIPINCLUDE) IXLIBS = iXt.lib iXmu.lib iXext.lib iXlib.lib iXau.lib iXc.lib ILIBS = isockc.lib libc.lib TRANSPUTER = -t8 ICFLAGS = -DTRANSPUTER $(ICDEBUGFLAGS) $(DEFINES) XCOMM Unfortunately -O for the inmos compiler specifies output file, not optimize XCOMM ICDEBUGFLAGS = -g .SUFFIXES : .tco .c.tco : ISEARCH="$(ISEARCH)" $(ICC) $(TRANSPUTER) $(ICFLAGS) $(OUTPUT_OPTION) $< #else #define object o #endif /* transputerbuild */ XCOMM default args for RCS ci and co XCOMM override from the command line to do other things CIFLAGS = -u COFLAGS = -l RCSFLAGS = DEFINES = $(EXTRACCOPTIONS) -DFONT_NAME='$(FONT)' $(NDEBUG) \ -DSCORE_DIR='"$(SCORE)"' $(LOCK) $(TIME) $(KNR) -DSCROLLBARBUGFIX LOCAL_LIBRARIES = $(XAWLIB) $(XTOOLLIB) $(XMULIB) $(XLIB) $(MATHSLIB) DEPLIBS = $(DEPXLIB) XCOMM filenames or stems COMMONHDRS = patchlevel.h ansiknr.h defcom.h common.h MRISHDRS = xmris.h defmris.h MREDHDRS = xmred.h defmred.h COMMONSRCS = defcom.c makecom.c GARDENS = alphabet.gdn digits.gdn puzzle.gdn xmred.gdn FILES = CHANGES CHANGES.4.01 CHANGES.4.02 CHANGES.4.03 CHANGES.4.04 \ README COPYRIGHT Imakefile \ xmris.man xmred.man Xmris-ad.src MRISSRCS = apple.c defmris.c demo.c draw.c makemris.c \ monster.c move.c player.c scoring.c timer.c xmris.c MRISOBJS = $(MRISSRCS:.c=.object) SCRAMSRCS = scram.c SCRAMOBJS = $(SCRAMSRCS:.c=.o) WIDGETSRCS = Drag.c Icon.c PixmapList.c WIDGETOBJS = $(WIDGETSRCS:.c=.object) WIDGETHDRS = $(WIDGETSRCS:.c=.h) MREDSRCS = all.c control.c defmred.c dialogs.c garden.c makemred.c \ menubar.c xmred.c MREDOBJS = $(MREDSRCS:.c=.object) XCOMM name all the sprites -- these are root names APPLE = bitmaps/apple/apldcy.r bitmaps/apple/aplnorm.r \ bitmaps/apple/aplrock.r bitmaps/apple/aplrot.r \ bitmaps/apple/aplspl.r bitmaps/apple/gstnorm.r \ bitmaps/apple/gstrock.r bitmaps/apple/aplsmall.r \ bitmaps/apple/bigedge.r bitmaps/apple/smledge.r BOARD = bitmaps/board/cherry.r bitmaps/board/digits.r \ bitmaps/board/seat.r bitmaps/board/ball.r CHOMP = bitmaps/chomp/hchmpc.r bitmaps/chomp/hchmpo.r \ bitmaps/chomp/schmpc.r bitmaps/chomp/schmpo.r DRONE = bitmaps/drone/hdronw1.r bitmaps/drone/hdronw2.r \ bitmaps/drone/hdronf.r \ bitmaps/drone/sdronw1.r bitmaps/drone/sdronw2.r \ bitmaps/drone/sdronf.r ICON = bitmaps/icon/solidi.r bitmaps/icon/shelli.r \ bitmaps/icon/solidm.r bitmaps/icon/shellm.r \ bitmaps/icon/solidr.r bitmaps/icon/shellr.r \ bitmaps/icon/solids.r bitmaps/icon/shells.r \ bitmaps/icon/solidt.r bitmaps/icon/shellt.r MUNCH = bitmaps/munch/hmnchw1.r bitmaps/munch/hmnchw2.r \ bitmaps/munch/hmnchf.r \ bitmaps/munch/smnchw1.r bitmaps/munch/smnchw2.r \ bitmaps/munch/smnchf.r NORMAL = bitmaps/normal/hnormw1.r bitmaps/normal/hnormw2.r \ bitmaps/normal/hnormf.r bitmaps/normal/hden.r \ bitmaps/normal/snormw1.r bitmaps/normal/snormw2.r \ bitmaps/normal/snormf.r bitmaps/normal/sden.r PLAYER = bitmaps/player/hplyrf.r \ bitmaps/player/hplyrh1.r bitmaps/player/hplyrh2.r \ bitmaps/player/hplyrp1.r bitmaps/player/hplyrp2.r \ bitmaps/player/hplyrs1.r bitmaps/player/hplyrs2.r \ bitmaps/player/hplyrw1.r bitmaps/player/hplyrw2.r \ bitmaps/player/splyrf.r \ bitmaps/player/splyrp1.r bitmaps/player/splyrp2.r \ bitmaps/player/splyrs1.r bitmaps/player/splyrs2.r \ bitmaps/player/splyrw1.r bitmaps/player/splyrw2.r \ bitmaps/player/splyrd1.r bitmaps/player/splyrd2.r \ bitmaps/player/splyrh1.r bitmaps/player/splyrh2.r PRIZE = bitmaps/prize/cake.r bitmaps/prize/spanner.r \ bitmaps/prize/brolly.r bitmaps/prize/mushrm.r bitmaps/prize/clock.r \ bitmaps/prize/gem1.r bitmaps/prize/gem2.r bitmaps/prize/gem3.r XTRA = bitmaps/xtra/hxtraf.r bitmaps/xtra/hxtraw1.r bitmaps/xtra/hxtraw2.r \ bitmaps/xtra/sxtraf.r bitmaps/xtra/sxtraw1.r bitmaps/xtra/sxtraw2.r \ bitmaps/xtra/xtrbold.r bitmaps/xtra/xtrfaint.r EDIT = bitmaps/edit/bigearw.r bitmaps/edit/bigsarw.r \ bitmaps/edit/smlearw.r bitmaps/edit/smlsarw.r bitmaps/edit/path.r \ bitmaps/edit/red.r bitmaps/edit/green.r bitmaps/edit/blue.r \ bitmaps/edit/include.r bitmaps/edit/iconi.r bitmaps/edit/boardi.r \ bitmaps/edit/warnon.r bitmaps/edit/warnoff.r BITMAPS = bitmaps/bitmaps/edge.r bitmaps/bitmaps/fill0.r \ bitmaps/bitmaps/fill1.r bitmaps/bitmaps/fill2.r \ bitmaps/bitmaps/fill3.r bitmaps/bitmaps/rect.r \ bitmaps/bitmaps/oblong.r bitmaps/bitmaps/mris.r \ bitmaps/bitmaps/msit.r bitmaps/bitmaps/mred.r \ bitmaps/bitmaps/ghosting.r ALLFILES = $(FILES) $(GARDENS) $(COMMONHDRS) $(MRISHDRS) $(MREDHDRS) \ $(COMMONSRCS) $(MRISSRCS) $(SCRAMSRCS) $(MREDSRCS) \ $(WIDGETSRCS) $(WIDGETHDRS) \ $(APPLE:.r=.bw) $(APPLE:.r=.rgb) $(BOARD:.r=.bw) $(BOARD:.r=.rgb) \ $(CHOMP:.r=.bw) $(CHOMP:.r=.rgb) $(DRONE:.r=.bw) $(DRONE:.r=.rgb) \ $(ICON:.r=.bw) $(ICON:.r=.rgb) $(MUNCH:.r=.bw) $(MUNCH:.r=.rgb) \ $(NORMAL:.r=.bw) $(NORMAL:.r=.rgb) $(PLAYER:.r=.bw) $(PLAYER:.r=.rgb) \ $(PRIZE:.r=.bw) $(PRIZE:.r=.rgb) $(XTRA:.r=.bw) $(XTRA:.r=.rgb) \ $(EDIT:.r=.bw) $(EDIT:.r=.rgb) $(BITMAPS:.r=.h) XCOMM using alltarget can cause gnumake to try and make a target called all. XCOMM the reason is the All Target macro has no rules, so gnumake tries XCOMM to find an implicit one. Other makes just give up. all :: initialize @echo "NOTE:You might get lots of warnings about discarding const from" @echo "NOTE:pointer target type. Ignore these. It's because the X header" @echo "NOTE:files aren't const correct. Fiddle with XrmOptionDescRec in" @echo "NOTE:Xresource.h and String in Intrinsic.h by adding an _Xconst." @#keep gnumake happy #if transputerbuild all :: xmris.btl xmred.btl @#keep gnumake happy #else all :: xmris xmred @#keep gnumake happy #endif /* transputerbuild */ all :: README.xmris README.xmred Xmris.ad @#keep gnumake happy XCOMM rules to make sure the initialize thing is done clean :: initialize @#keep gnumake happy install :: initialize @#keep gnumake happy XCOMM xmris build #if transputerbuild xmris.btl : xmris.lku $(ICOLLECT) -t xmris.lku xmris.lku : $(MRISOBJS) $(ILINK) $(TRANSPUTER) $(MRISOBJS) $(ILINKOPT) -o xmris.lku \ $(IXLIBS) $(ILIBS) clean :: $(RM) xmris.lku xmris.cfb #else NormalProgramTarget(xmris,$(MRISOBJS),$(DEPLIBS),$(LOCAL_LIBRARIES),) InstallProgramWithFlags(xmris,$(THEBINDIR),$(INSTMRISFLAGS)) install :: $(THEBINDIR)/xmris $(RM) $(THEBINDIR)/xmsit $(LN) ./xmris $(THEBINDIR)/xmsit #endif /* transputerbuild */ XCOMM xmred build #if transputerbuild xmred.btl : xmred.lku $(ICOLLECT) -t xmred.lku xmred.lku : $(MREDOBJS) $(ILINK) $(TRANSPUTER) $(MREDOBJS) $(ILINKOPT) -o xmred.lku \ $(IXLIBS) $(ILIBS) clean :: $(RM) xmred.lku xmred.cfb #else NormalProgramTarget(xmred,$(MREDOBJS) $(WIDGETOBJS),$(DEPLIBS),$(LOCAL_LIBRARIES) -lm,) InstallProgram(xmred,$(THEBINDIR)) #endif /* transputerbuild */ #if !transputerbuild XCOMM manual pages README.xmris : xmris.man $(RM) README.xmris nroff -man xmris.man > README.xmris README.xmred : xmred.man $(RM) README.xmred nroff -man xmred.man > README.xmred InstallManPage(xmris,$(THEMANDIR)) InstallManPageAliases(xmris,$(THEMANDIR),xmsit) InstallManPage(xmred,$(THEMANDIR)) #endif /* transputerbuild */ XCOMM application resource files InstallAppDefaults(Xmris) Xmris.ad : Xmris-ad.src sed -e 's@SCORE@$(SCORE)@' -e s@FONT@$(FONT)@ < Xmris-ad.src > Xmris.ad XCOMM score directory install install :: MakeDir($(SCORE)) @#not all $(INSTALL) have a -d flag, have to do it explicitly @echo installing $(INSTSCOREFLAGS) $(SCORE) @set -- $(INSTSCOREFLAGS) ; \ while [ $$# -ne 0 ] ; \ do \ case "$$1" in \ "-o") shift ; chown $$1 $(SCORE) ; echo owner is $$1 ;; \ "-m") shift ; chmod $$1 $(SCORE) ;; \ "-g") shift ; chgrp $$1 $(SCORE) ; echo group is $$1 ;; \ *) echo unknown option '$$1' ;; \ esac ; \ shift ; \ done #ifdef InstallDefaultGardens XCOMM install default gardens install :: $(GARDENS) MakeDir(InstallDefaultGardens) @set dummy $(GARDENS) ; shift ; \ while [ $$# != 0 ] ; \ do \ (set -x ; $(INSTALL) -c $(INSTAPPFLAGS) $$1 InstallDefaultGardens/$$1) ; \ shift ; \ done #endif /* InstallDefaultGardens */ XCOMM scram program NormalProgramTarget(scram,$(SCRAMOBJS),,,) clean :: $(RM) $(MRISOBJS) $(RM) Xmris.ad $(RM) $(MREDOBJS) $(RM) $(WIDGETOBJS) $(RM) $(SCRAMOBJS) XCOMM tar is somewhat complicated because we want it to untar into an xmris XCOMM subdirectory with the correct version number (ie xmris.4.00) XCOMM this is done by cd'ing up, creating a link of the correct name to XCOMM where we are and then tarring the files in here with the directory XCOMM prefix tacked on. But we don't know the directory name we're in so XCOMM we have to determine that, and if it is already what we want, then XCOMM don't make a link tar : $(ALLFILES) README.xmris README.xmred @if [ ! -f Makefile.std ] ; then \ echo No Makefile.std, winging it ; \ cp Makefile Makefile.std ; \ elif [ `ls -t Makefile Makefile.std | \ sed '2,$$d'` = Makefile ] ; then \ echo Warning:Makefile.std is older than Makefile ; \ fi @echo Tarring \& feathering into $(APP).$(VERSION).tgz @DIR=`pwd | sed "s+/.*/++"` ; rm="" ; \ if [ ! -x ../$(APP).$(VERSION) ] ; then \ rm="$(RM) ../$(APP).$(VERSION)" ; \ $(LN) ./$$DIR ../$(APP).$(VERSION) ; \ fi ; \ (cd .. ; tar cf - `set README.xmris README.xmred Makefile.std \ $(ALLFILES) ; \ while [ $$# -ne 0 ] ; \ do echo $(APP).$(VERSION)/$$1 ; shift ; \ done`) | \ gzip -f > $(APP).$(VERSION).tgz ; \ $$rm XCOMM checkin all the checked out files XCOMM you can use MSG to set the checkin message checkin : $(ALLFILES) @ARGS='$(CIFLAGS)' ; \ echo Checking in locked files with $${ARGS:-'no options'} @ARGS='$(MSG)' ; \ FILELIST=`set $(ALLFILES) ; \ (while [ $$# -ne 0 ] ; \ do if [ -w $$1 ] ; then echo $$1 ; fi ; \ shift ; \ done) | sort` ; \ if [ -z "$$FILELIST" ] ; then \ echo Nothing to do, all up to date ; \ elif [ 0$${ARGS:+1} -ne 0 ] ; then \ echo Label \''$(MSG)'\' ; \ ci $(CIFLAGS) -m"$(MSG)" $$FILELIST ; \ else \ ci $(CIFLAGS) $$FILELIST ; \ fi ; \ XCOMM checkout all the files, with COFLAGS args checkout : @ARGS='$(COFLAGS)' ; \ echo Checking out all files with $${ARGS:-'no options'} @co $(COFLAGS) `set $(ALLFILES) ; \ while [ $$# -ne 0 ] ; \ do if [ ! -w $$1 ] ; then echo $$1 ; fi ; \ shift ; \ done` rcs : checkin @ARGS='$(RCSFLAGS)' ; \ echo RCSing all files with $${ARGS:-'no options'} rcs $(RCSFLAGS) $(ALLFILES) XCOMM upload a tar file into this directory upload : @arc=$(APP).$(VERSION).tgz ; \ if [ ! -r $$arc ] ; then \ arc=$(APP).tgz ; \ fi ; \ echo Uploading from tar file $$arc ; \ echo Locking files about to be uploaded ; \ for file in `gunzip -c $$arc | tar tf -` ; \ do \ base=`echo $$file | sed 's+^[^/]*/++'` ; \ if [ ! -w $$base ] ; then \ if [ -r `echo ./$$base | sed 's+/[^/]*$$++'`/RCS/`echo $$base | sed 's+.*/++'`,v ] ; then \ co -l $$base ; \ fi ; \ fi ; \ done ; \ echo Commencing upload from $$arc ; \ DIR=`pwd | sed "s+/.*/++"` ; rm="" ; \ if [ ! -x ../$(APP).$(VERSION) ] ; then \ rm="$(RM) ../$(APP).$(VERSION)" ; \ $(LN) ./$$DIR ../$(APP).$(VERSION) ; \ fi ; \ (cd .. ; gunzip -c $(APP).$(VERSION)/$$arc | tar xvf -) ; \ $$rm ; \ echo Chmoding files which were uploaded ; \ for file in `gunzip -c $$arc | tar tf -` ; \ do \ chmod +w `echo $$file | sed 's+^[^/]*/++'` ; \ done ; \ echo Upload from $$arc complete ; \ echo Don\'t for get to check them all in now Makefile.std :: initialize cp Makefile Makefile.std @echo You may want to edit Makefile.std now XCOMM these are the object dependencies $(MRISOBJS) : xmris.h common.h ansiknr.h patchlevel.h makemris.object : defmris.h defcom.h makecom.c defmris.object : defmris.h defcom.h defcom.c bitmaps/sprites draw.object : digits.gdn $(MREDOBJS) : xmred.h common.h ansiknr.h patchlevel.h all.object : Drag.h Icon.h PixmapList.h control.object : Drag.h Icon.h defmred.object : defmred.h defcom.h defcom.c bitmaps/sprites xmred.gdn makemred.object : defmred.h defcom.h makecom.c Icon.h PixmapList.h $(SCRAMOBJS) : ansiknr.h Drag.object : Drag.h Icon.object : Drag.h Icon.h PixmapList.object : PixmapList.h Drag.h XCOMM dependencies for single files XCOMM can't use $(@:.o=.c) or similar clever thing, 'cos its incompatible XCOMM gnumake is clever enough to perform a check out using implicit rules #define SINGLEDEPEND(root,target,depend) root.target : root.depend @@ SINGLEDEPEND(apple,object,c) SINGLEDEPEND(defmris,object,c) SINGLEDEPEND(demo,object,c) SINGLEDEPEND(draw,object,c) SINGLEDEPEND(makemris,object,c) SINGLEDEPEND(monster,object,c) SINGLEDEPEND(move,object,c) SINGLEDEPEND(player,object,c) SINGLEDEPEND(scoring,object,c) SINGLEDEPEND(timer,object,c) SINGLEDEPEND(xmris,object,c) SINGLEDEPEND(scram,object,c) SINGLEDEPEND(Drag,object,c) SINGLEDEPEND(Icon,object,c) SINGLEDEPEND(PixmapList,object,c) SINGLEDEPEND(all,object,c) SINGLEDEPEND(control,object,c) SINGLEDEPEND(defmred,object,c) SINGLEDEPEND(dialogs,object,c) SINGLEDEPEND(garden,object,c) SINGLEDEPEND(makemred,object,c) SINGLEDEPEND(menubar,object,c) SINGLEDEPEND(xmred,object,c) XCOMM sprite rules SPRITEMARKERS = bitmaps/apple/sprites bitmaps/board/sprites \ bitmaps/icon/sprites bitmaps/player/sprites bitmaps/normal/sprites \ bitmaps/munch/sprites bitmaps/xtra/sprites bitmaps/drone/sprites \ bitmaps/chomp/sprites bitmaps/prize/sprites bitmaps/edit/sprites \ bitmaps/bitmaps/sprites clean :: $(RM) $(APPLE:.r=.h) $(RM) $(BOARD:.r=.h) $(RM) $(CHOMP:.r=.h) $(RM) $(DRONE:.r=.h) $(RM) $(ICON:.r=.h) $(RM) $(MUNCH:.r=.h) $(RM) $(NORMAL:.r=.h) $(RM) $(PLAYER:.r=.h) $(RM) $(PRIZE:.r=.h) $(RM) $(XTRA:.r=.h) $(RM) $(EDIT:.r=.h) $(RM) bitmaps/sprites $(SPRITEMARKERS) XCOMM makes the sprites from the rgb and bw images bitmaps/sprites : $(SPRITEMARKERS) touch $@ bitmaps/apple/sprites : $(APPLE:.r=.h) touch $@ bitmaps/board/sprites : $(BOARD:.r=.h) touch $@ bitmaps/chomp/sprites : $(CHOMP:.r=.h) touch $@ bitmaps/drone/sprites : $(DRONE:.r=.h) touch $@ bitmaps/icon/sprites : $(ICON:.r=.h) touch $@ bitmaps/munch/sprites : $(MUNCH:.r=.h) touch $@ bitmaps/normal/sprites : $(NORMAL:.r=.h) touch $@ bitmaps/player/sprites : $(PLAYER:.r=.h) touch $@ bitmaps/prize/sprites : $(PRIZE:.r=.h) touch $@ bitmaps/xtra/sprites : $(XTRA:.r=.h) touch $@ bitmaps/edit/sprites : $(EDIT:.r=.h) touch $@ bitmaps/bitmaps/sprites : $(BITMAPS:.r=.h) touch $@ XCOMM sprite building rule, again clever make stuff is incompatible #define SPRITEBUILD(root,flags,noswap,swap,edge) \ root.h : ./scram root.rgb root.bw @@\ ./scram root flags noswap + swap + edge SPRITEBUILD(bitmaps/apple/apldcy,,\ COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\ COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\ COLOR_BLACK) SPRITEBUILD(bitmaps/apple/aplnorm,,\ COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\ COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\ COLOR_BLACK) SPRITEBUILD(bitmaps/apple/aplrock,,\ COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\ COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\ COLOR_BLACK) SPRITEBUILD(bitmaps/apple/aplrot,,\ COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\ COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\ COLOR_BLACK) SPRITEBUILD(bitmaps/apple/aplspl,,\ COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\ COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\ COLOR_BLACK) SPRITEBUILD(bitmaps/apple/gstnorm,,\ COLOR_APPLE_FAINT COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE,\ COLOR_BACKGROUND COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE,\ COLOR_APPLE_FAINT) SPRITEBUILD(bitmaps/apple/gstrock,,\ COLOR_APPLE_FAINT COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE,\ COLOR_BACKGROUND COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE,\ COLOR_APPLE_FAINT) SPRITEBUILD(bitmaps/apple/aplsmall,,\ COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\ COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\ COLOR_BLACK) SPRITEBUILD(bitmaps/apple/bigedge,-s,COLOR_APPLE_FAINT,COLOR_APPLE_FAINT,) SPRITEBUILD(bitmaps/apple/smledge,-s,COLOR_APPLE_FAINT,COLOR_APPLE_FAINT,) SPRITEBUILD(bitmaps/board/cherry,+s,\ COLOR_WHITE COLOR_CHERRY COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_CHERRY COLOR_BLACK COLOR_CHERRY_STALK,\ COLOR_BLACK) SPRITEBUILD(bitmaps/board/ball,+n,COLOR_BALL,COLOR_BALL,COLOR_BLACK) SPRITEBUILD(bitmaps/board/digits,-s,\ COLOR_BACKGROUND COLOR_BLACK,COLOR_BACKGROUND COLOR_WHITE,) SPRITEBUILD(bitmaps/board/seat,-s,\ COLOR_SEAT COLOR_BLACK,COLOR_SEAT COLOR_WHITE,) SPRITEBUILD(bitmaps/chomp/hchmpc,,\ COLOR_CHOMP COLOR_BLACK COLOR_WHITE COLOR_CHOMP_LIP COLOR_BLACK COLOR_BLACK,\ COLOR_CHOMP COLOR_CHOMP COLOR_BLACK COLOR_CHOMP_LIP COLOR_BLACK COLOR_WHITE,\ COLOR_BLACK) SPRITEBUILD(bitmaps/chomp/hchmpo,,\ COLOR_CHOMP COLOR_BLACK COLOR_WHITE COLOR_CHOMP_LIP COLOR_BLACK COLOR_BLACK,\ COLOR_CHOMP COLOR_CHOMP COLOR_BLACK COLOR_CHOMP_LIP COLOR_BLACK COLOR_WHITE,\ COLOR_BLACK) SPRITEBUILD(bitmaps/chomp/schmpc,,\ COLOR_WHITE COLOR_CHOMP COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_CHOMP COLOR_CHOMP COLOR_BLACK,) SPRITEBUILD(bitmaps/chomp/schmpo,,\ COLOR_WHITE COLOR_CHOMP COLOR_CHOMP_TONGUE COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_CHOMP COLOR_CHOMP_TONGUE COLOR_CHOMP COLOR_BLACK,) SPRITEBUILD(bitmaps/drone/hdronf,,\ COLOR_WHITE COLOR_DRONE COLOR_BLACK COLOR_WHITE,\ COLOR_BLACK COLOR_DRONE COLOR_WHITE COLOR_WHITE,COLOR_BLACK) SPRITEBUILD(bitmaps/drone/hdronw1,,\ COLOR_WHITE COLOR_DRONE COLOR_BLACK COLOR_WHITE COLOR_BLACK,\ COLOR_BLACK COLOR_DRONE COLOR_WHITE COLOR_WHITE COLOR_BACKGROUND,\ COLOR_BLACK) SPRITEBUILD(bitmaps/drone/hdronw2,,\ COLOR_WHITE COLOR_DRONE COLOR_BLACK COLOR_WHITE COLOR_BLACK,\ COLOR_BLACK COLOR_DRONE COLOR_WHITE COLOR_WHITE COLOR_BACKGROUND,\ COLOR_BLACK) SPRITEBUILD(bitmaps/drone/sdronf,,\ COLOR_DRONE COLOR_BLACK COLOR_BLACK,\ COLOR_DRONE COLOR_DRONE COLOR_BLACK,) SPRITEBUILD(bitmaps/drone/sdronw1,,\ COLOR_WHITE COLOR_DRONE COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_DRONE COLOR_DRONE COLOR_BLACK,) SPRITEBUILD(bitmaps/drone/sdronw2,,\ COLOR_WHITE COLOR_DRONE COLOR_DRONE_TONGUE COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_DRONE COLOR_DRONE_TONGUE COLOR_DRONE COLOR_BLACK,) SPRITEBUILD(bitmaps/icon/solidi,-s,COLOR_LETTER_GOT,COLOR_LETTER_GOT,) SPRITEBUILD(bitmaps/icon/solidm,-s,COLOR_LETTER_GOT,COLOR_LETTER_GOT,) SPRITEBUILD(bitmaps/icon/solidr,-s,COLOR_LETTER_GOT,COLOR_LETTER_GOT,) SPRITEBUILD(bitmaps/icon/solids,-s,COLOR_LETTER_GOT,COLOR_LETTER_GOT,) SPRITEBUILD(bitmaps/icon/solidt,-s,COLOR_LETTER_GOT,COLOR_LETTER_GOT,) SPRITEBUILD(bitmaps/icon/shelli,-s,COLOR_LETTER_NOT_GOT,COLOR_LETTER_NOT_GOT,) SPRITEBUILD(bitmaps/icon/shellm,-s,COLOR_LETTER_NOT_GOT,COLOR_LETTER_NOT_GOT,) SPRITEBUILD(bitmaps/icon/shellr,-s,COLOR_LETTER_NOT_GOT,COLOR_LETTER_NOT_GOT,) SPRITEBUILD(bitmaps/icon/shells,-s,COLOR_LETTER_NOT_GOT,COLOR_LETTER_NOT_GOT,) SPRITEBUILD(bitmaps/icon/shellt,-s,COLOR_LETTER_NOT_GOT,COLOR_LETTER_NOT_GOT,) SPRITEBUILD(bitmaps/munch/hmnchf,,\ COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_BLACK COLOR_WHITE COLOR_BLACK,\ COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_BLACK COLOR_WHITE COLOR_WHITE,\ COLOR_BLACK) SPRITEBUILD(bitmaps/munch/hmnchw1,,\ COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_BLACK COLOR_WHITE COLOR_BLACK COLOR_BLACK,\ COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_MUNCH_2 COLOR_WHITE COLOR_BLACK COLOR_WHITE,\ COLOR_BLACK) SPRITEBUILD(bitmaps/munch/hmnchw2,,\ COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_BLACK COLOR_WHITE COLOR_BLACK COLOR_BLACK,\ COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_MUNCH_2 COLOR_WHITE COLOR_BLACK COLOR_WHITE,\ COLOR_BLACK) SPRITEBUILD(bitmaps/munch/smnchf,,\ COLOR_WHITE COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_BLACK COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_MUNCH_1 COLOR_MUNCH_2 \ COLOR_BLACK,) SPRITEBUILD(bitmaps/munch/smnchw1,,COLOR_WHITE COLOR_MUNCH_1 \ COLOR_MUNCH_2 COLOR_BLACK COLOR_BLACK COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_WHITE COLOR_MUNCH_1 \ COLOR_MUNCH_2 COLOR_BLACK,) SPRITEBUILD(bitmaps/munch/smnchw2,,\ COLOR_WHITE COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_BLACK COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_MUNCH_1 COLOR_MUNCH_2 \ COLOR_BLACK,) SPRITEBUILD(bitmaps/normal/hden,-s,\ COLOR_NORMAL COLOR_NORMAL COLOR_WHITE COLOR_BLACK,\ COLOR_NORMAL COLOR_NORMAL COLOR_BLACK COLOR_WHITE,) SPRITEBUILD(bitmaps/normal/hnormf,-s,\ COLOR_NORMAL COLOR_NORMAL COLOR_WHITE COLOR_BLACK,\ COLOR_NORMAL COLOR_NORMAL COLOR_BLACK COLOR_WHITE,) SPRITEBUILD(bitmaps/normal/hnormw1,-s,\ COLOR_NORMAL COLOR_NORMAL COLOR_WHITE COLOR_BLACK,\ COLOR_NORMAL COLOR_NORMAL COLOR_BLACK COLOR_WHITE,) SPRITEBUILD(bitmaps/normal/hnormw2,-s,\ COLOR_NORMAL COLOR_NORMAL COLOR_WHITE COLOR_BLACK,\ COLOR_NORMAL COLOR_NORMAL COLOR_BLACK COLOR_WHITE,) SPRITEBUILD(bitmaps/normal/sden,,\ COLOR_WHITE COLOR_NORMAL COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_NORMAL COLOR_WHITE COLOR_BLACK,) SPRITEBUILD(bitmaps/normal/snormf,,\ COLOR_WHITE COLOR_NORMAL COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_NORMAL COLOR_NORMAL COLOR_BLACK,) SPRITEBUILD(bitmaps/normal/snormw1,,\ COLOR_WHITE COLOR_NORMAL COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_NORMAL COLOR_NORMAL COLOR_BLACK,) SPRITEBUILD(bitmaps/normal/snormw2,,\ COLOR_WHITE COLOR_NORMAL COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_NORMAL COLOR_NORMAL COLOR_BLACK,) SPRITEBUILD(bitmaps/player/hplyrf,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\ COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \ COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK) SPRITEBUILD(bitmaps/player/hplyrh1,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\ COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \ COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK) SPRITEBUILD(bitmaps/player/hplyrh2,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\ COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \ COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK) SPRITEBUILD(bitmaps/player/hplyrp1,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND \ COLOR_BLACK,COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \ COLOR_PLAYER_BOOT COLOR_BACKGROUND COLOR_WHITE,COLOR_BLACK) SPRITEBUILD(bitmaps/player/hplyrp2,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND \ COLOR_BLACK,COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \ COLOR_PLAYER_BOOT COLOR_BACKGROUND COLOR_WHITE,COLOR_BLACK) SPRITEBUILD(bitmaps/player/hplyrs1,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\ COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \ COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK) SPRITEBUILD(bitmaps/player/hplyrs2,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\ COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \ COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK) SPRITEBUILD(bitmaps/player/hplyrw1,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\ COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \ COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK) SPRITEBUILD(bitmaps/player/hplyrw2,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\ COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \ COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK) SPRITEBUILD(bitmaps/player/splyrf,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \ COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,) SPRITEBUILD(bitmaps/player/splyrp1,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \ COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,) SPRITEBUILD(bitmaps/player/splyrp2,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \ COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,) SPRITEBUILD(bitmaps/player/splyrs1,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \ COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,) SPRITEBUILD(bitmaps/player/splyrs2,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \ COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,) SPRITEBUILD(bitmaps/player/splyrw1,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \ COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,) SPRITEBUILD(bitmaps/player/splyrw2,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \ COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,) SPRITEBUILD(bitmaps/player/splyrd1,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \ COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,) SPRITEBUILD(bitmaps/player/splyrd2,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \ COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,) SPRITEBUILD(bitmaps/player/splyrh1,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \ COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,) SPRITEBUILD(bitmaps/player/splyrh2,,COLOR_PLAYER_BOBBLE \ COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \ COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \ COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,) SPRITEBUILD(bitmaps/prize/cake,+s,\ COLOR_CAKE_ICING COLOR_CAKE COLOR_BLACK COLOR_CAKE_JAM,\ COLOR_CAKE_ICING COLOR_CAKE COLOR_BLACK COLOR_CAKE_JAM,\ COLOR_BLACK) SPRITEBUILD(bitmaps/prize/spanner,+s,COLOR_SPANNER_SHADOW COLOR_SPANNER,\ COLOR_SPANNER_SHADOW COLOR_SPANNER, COLOR_BLACK) SPRITEBUILD(bitmaps/prize/brolly,+s,\ COLOR_BROLLY_1 COLOR_BROLLY_2 COLOR_BROLLY_HANDLE COLOR_BLACK,\ COLOR_BROLLY_1 COLOR_BROLLY_2 COLOR_BROLLY_HANDLE COLOR_BLACK,\ COLOR_BLACK) SPRITEBUILD(bitmaps/prize/mushrm,+s,\ COLOR_MUSHROOM_STALK COLOR_MUSHROOM_CAP COLOR_BLACK COLOR_WHITE,\ COLOR_MUSHROOM_STALK COLOR_MUSHROOM_CAP COLOR_BLACK COLOR_WHITE,\ COLOR_BLACK) SPRITEBUILD(bitmaps/prize/clock,+s,\ COLOR_CLOCK_FACE COLOR_BLACK COLOR_CLOCK_BELL COLOR_CLOCK_EDGE,\ COLOR_CLOCK_FACE COLOR_BLACK COLOR_CLOCK_BELL COLOR_CLOCK_EDGE,\ COLOR_BLACK) SPRITEBUILD(bitmaps/prize/gem1,,COLOR_WHITE COLOR_GEM_1 \ COLOR_GEM_2 COLOR_BLACK COLOR_BLACK COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_GEM_1 COLOR_GEM_2 COLOR_WHITE COLOR_GEM_1 COLOR_GEM_2 \ COLOR_BLACK,) SPRITEBUILD(bitmaps/prize/gem2,,COLOR_WHITE COLOR_GEM_1 \ COLOR_GEM_2 COLOR_BLACK COLOR_BLACK COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_GEM_1 COLOR_GEM_2 COLOR_WHITE COLOR_GEM_1 COLOR_GEM_2 \ COLOR_BLACK,) SPRITEBUILD(bitmaps/prize/gem3,,COLOR_WHITE COLOR_GEM_1 \ COLOR_GEM_2 COLOR_BLACK COLOR_BLACK COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_GEM_1 COLOR_GEM_2 COLOR_WHITE COLOR_GEM_1 COLOR_GEM_2 \ COLOR_BLACK,) SPRITEBUILD(bitmaps/xtra/sxtraf,,\ COLOR_WHITE COLOR_XTRA COLOR_BLACK,COLOR_BLACK COLOR_XTRA COLOR_XTRA,) SPRITEBUILD(bitmaps/xtra/sxtraw1,,\ COLOR_WHITE COLOR_XTRA COLOR_BLACK COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_XTRA COLOR_WHITE COLOR_XTRA COLOR_BLACK,) SPRITEBUILD(bitmaps/xtra/sxtraw2,,\ COLOR_WHITE COLOR_XTRA COLOR_BLACK COLOR_BLACK COLOR_BLACK,\ COLOR_WHITE COLOR_XTRA COLOR_WHITE COLOR_XTRA COLOR_BLACK,) SPRITEBUILD(bitmaps/xtra/hxtraf,-s,\ COLOR_XTRA COLOR_WHITE COLOR_BLACK,COLOR_XTRA COLOR_BLACK COLOR_WHITE,) SPRITEBUILD(bitmaps/xtra/hxtraw1,-s,\ COLOR_XTRA COLOR_WHITE COLOR_BLACK,COLOR_XTRA COLOR_BLACK COLOR_WHITE,) SPRITEBUILD(bitmaps/xtra/hxtraw2,-s,\ COLOR_XTRA COLOR_WHITE COLOR_BLACK,COLOR_XTRA COLOR_BLACK COLOR_WHITE,) SPRITEBUILD(bitmaps/xtra/xtrbold,-s,\ - COLOR_LETTER_GOT,- COLOR_LETTER_GOT,) SPRITEBUILD(bitmaps/xtra/xtrfaint,-s,\ - COLOR_LETTER_NOT_GOT,- COLOR_LETTER_NOT_GOT,) SPRITEBUILD(bitmaps/edit/bigearw,-s,COLOR_APPLE_FAINT,COLOR_APPLE_FAINT,) SPRITEBUILD(bitmaps/edit/bigsarw,-s,COLOR_APPLE_FAINT,COLOR_APPLE_FAINT,) SPRITEBUILD(bitmaps/edit/smlearw,-s,COLOR_APPLE_FAINT,COLOR_APPLE_FAINT,) SPRITEBUILD(bitmaps/edit/smlsarw,-s,COLOR_APPLE_FAINT,COLOR_APPLE_FAINT,) SPRITEBUILD(bitmaps/edit/path,-s,COLOR_BACKGROUND,COLOR_BACKGROUND,) SPRITEBUILD(bitmaps/edit/red,-s,COLOR_RED_FORE,COLOR_RED_FORE,) SPRITEBUILD(bitmaps/edit/green,-s,COLOR_GREEN_FORE,COLOR_GREEN_FORE,) SPRITEBUILD(bitmaps/edit/blue,-s,COLOR_BLUE_FORE,COLOR_BLUE_FORE,) SPRITEBUILD(bitmaps/edit/include,-s -c -m,\ COLOR_BACKGROUND COLOR_BORDER COLOR_BACKGROUND COLOR_RED_FORE \ COLOR_BACKGROUND COLOR_BLUE_FORE COLOR_BACKGROUND COLOR_GREEN_FORE,\ COLOR_BACKGROUND COLOR_BORDER COLOR_BACKGROUND COLOR_RED_FORE \ COLOR_BACKGROUND COLOR_BLUE_FORE COLOR_BACKGROUND COLOR_GREEN_FORE,) SPRITEBUILD(bitmaps/edit/iconi,-s -c -m,COLOR_BACKGROUND COLOR_FOREGROUND,\ COLOR_BACKGROUND COLOR_FOREGROUND,) SPRITEBUILD(bitmaps/edit/boardi,-s -c -m,COLOR_BACKGROUND COLOR_FOREGROUND,\ COLOR_BACKGROUND COLOR_FOREGROUND,) SPRITEBUILD(bitmaps/edit/warnon,-s -c -m,COLOR_BACKGROUND COLOR_FOREGROUND,\ COLOR_BACKGROUND COLOR_FOREGROUND,) SPRITEBUILD(bitmaps/edit/warnoff,-s -c -m,COLOR_BACKGROUND COLOR_FOREGROUND,\ COLOR_BACKGROUND COLOR_FOREGROUND,) .DONE : @echo "Hurrah!" .FAILED : @echo "Bummer!" XCOMM initialize rule is done before all makes. Not all makes XCOMM have a .INIT implicit rule, so I don't use that initialize : @echo Checking a few things @if [ `ls -t Makefile Imakefile | sed '2,$$d'` = Imakefile ] ; then \ echo Warning:Makefile is older than Imakefile ; \ fi @if [ ! -d `echo '$(SCORE)' | sed 's=/[^/]*$$=='` ] ; then \ echo The parent of $(SCORE) does not exist ; \ fi @if [ $(FONT) = "" ] ; then true ; \ elif echo $(FONT) | grep -c -- '-m-.*-.*-.*$$' > /dev/null ; then \ if [ "$(XLSFONTS)" = "" -o "$(DISPLAY)" = "" ] ; then \ XLSFONTS="" ; \ elif [ -x $(XLSFONTS) ] ; then \ XLSFONTS=$(XLSFONTS) ; \ elif [ -x $(BINDIR)/$(XLSFONTS) ] ; then \ XLSFONTS=$(BINDIR)/$(XLSFONTS) ; \ elif [ -x /usr/bin/X11/$(XLSFONTS) ] ; then \ XLSFONTS=/usr/bin/X11/$(XLSFONTS) ; \ else \ XLSFONTS="" ; \ fi ; \ if [ "$$XLSFONTS" = "" ] ; then \ true ; \ elif [ `$$xlsfonts -o -fn "$(FONT)" 2> /dev/null | wc -l` -eq 0 ] ; then \ echo Warning:Font $(FONT) not found ; \ fi ; \ else \ echo Warning:Font $(FONT) is not fixed width ; \ fi @echo "Geronimo!" XCOMM default rule looks for an RCS file to check out XCOMM not required for gmake, as that already has a rule for it .DEFAULT : @if echo $@ | grep -cv '^/' > /dev/null && \ [ -f `echo ./$@ | sed 's+^\(.*/\)\([^/]*\)$$+\1RCS/\2,v+'` ] ; then \ co $(COFLAGS) $@ ; \ else \ echo Cannot make $@ and cannot find one made. ; \ exit 1 ; \ fi