1#ifndef XCOMM
2#define XCOMM #
3#endif
4
5XCOMM Copyright (C) 1993 Nathan Sidwell
6XCOMM RCS $Id: Imakefile,v 4.57 1995/12/22 11:32:07 nathan Exp $
7
8XCOMM specify if this is a transputer target
9XCOMM #define transputerbuild 1
10
11XCOMM For full details of the switches herein, read the README file
12XCOMM Imake file for xmris V4.04 23 July 1995
13VERSION = 4.04
14APP = xmris
15
16/* Imake compatibility */
17#ifndef MakeDir
18#define MakeDir(dir)	mkdir dir
19#endif
20
21#ifndef InstallManPageAliases
22#define InstallManPageAliases(name,dir,target) \
23install.man :: @@\
24	ln -s ./name.$(MANSUFFIX) $(DESTDIR)dir/target.$(MANSUFFIX) @@
25#endif
26
27#ifndef NullParameter
28#define NullParameter
29#endif
30
31/* to inhibit app defaults installation */
32/* #undef InstallAppDefFiles */
33
34XCOMM compiler options
35XCOMM
36#if HasGcc
37EXTRACCOPTIONS = -Wall -Wpointer-arith -Wwrite-strings -Wtraditional
38#endif /* HasGcc */
39#if defined(LinuxArchitecture)
40#define STATICDEBUG -static
41#else
42#define STATICDEBUG
43#endif
44XCOMM Is it a knr compiler which _doesn't_ have void?
45KNR =
46XCOMM KNR = -DSTRICTKNR
47XCOMM do you trust the code?
48XCOMM NDEBUG =
49XCOMM NDEBUG = -DNDEBUG
50XCOMM Allow debugging?
51XCOMM CDEBUGFLAGS = -g STATICDEBUG
52XCOMM debug event loop?
53XCOMM CDEBUGFLAGS += -DDEBUGEVENTLOOP
54#ifdef HPArchitecture
55CCOPTIONS = -Aa -D_HPUX_SOURCE
56EXTRA_LOAD_FLAGS = -lV3
57#endif
58
59XCOMM system environment
60XCOMM
61XCOMM don't you have gettimeofday?
62TIME = -DPOSIX
63XCOMM TIME = -DUSETIME
64XCOMM don't you have lockf or flock?
65LOCK =
66LOCK = -DUSELOCKFILE
67
68XCOMM game defaults, you probably only want to alter the SCORE
69XCOMM
70/* You must specify a fixed width font that exists. */
71/* #define thefont "-*-courier-*-r-*-*-18-*-*-*-m-*-*-*" */
72XCOMM where is the high score file?
73XCOMM SCORE = $(LOCAL)/lib/$(APP)
74SCORE = /var/games/$(APP)
75/* to install default gardens not in app_defaults/$(APP)
76#define InstallDefaultGardens $(LIBDIR)/$(APP)
77
78XCOMM The following defines are needed for some implementations and/or sites.
79XCOMM It is xmkmf's job to get these right in the first place.
80XCOMM If you have to declare any of these, X may not be installed correctly.
81XCOMM
82XCOMM DEC station 5000 appears to require these includes
83XCOMM STD_INCLUDES = -I/usr/include/mit
84XCOMM and they require these two libraries changed
85XCOMM XLIB = -lXext-mit -lX11-mit
86XCOMM required for setuid, try one or the other, (the first is better)
87XCOMM EXTRA_LOAD_FLAGS = -R$(USRLIBDIR)$${LD_RUN_PATH+\:$$LD_RUN_PATH}
88XCOMM EXTRA_LOAD_FLAGS = -static
89XCOMM some X implementations and openwindows require the maths library
90XCOMM MATHSLIB = -lm
91
92XCOMM install parameters
93XCOMM
94#if transputerbuild
95XCOMM open access on the score file, 'cos transputers can't do setuid
96INSTSCOREFLAGS = -m 777
97#else
98XCOMM owner and access rights for executable & score directory
99XCOMM these are set for a setuid xmris
100OWNER = -o games
101INSTSCOREFLAGS = $(OWNER) -m 755
102INSTMRISFLAGS = $(OWNER) $(INSTUIDFLAGS)
103XCOMM normal install locations
104THEBINDIR = $(BINDIR)
105THEMANDIR = $(MANDIR)
106XCOMM for open access you want 777 and $(INSTPGMFLAGS),
107XCOMM (the personal score files go in users' home dirs.)
108XCOMM INSTSCOREFLAGS = -m 777
109XCOMM INSTMRISFLAGS = $(INSTPGMFLAGS)
110XCOMM If you're not installing in the default locations
111XCOMM DESTDIR =
112XCOMM THEBINDIR = $(LOCAL)/bin
113XCOMM THEMANDIR = $(LOCAL)/man/man6
114#endif /* transputerbuild */
115
116#ifndef thefont
117#define thefont "-*-courier-*-r-*-*-18-*-*-*-m-*-*-*"
118#else
119XLSFONT = xlsfont
120#endif /* thefont */
121FONT = thefont
122
123#ifndef InstallDefaultGardens
124#ifdef InstallAppDefFiles
125#define InstallDefaultGardens $(DESTDIR)/$(XAPPLOADDIR)/$(APP)
126#endif
127#endif
128
129#if transputerbuild
130#define object tco
131XCOMM transputer tools
132TOOLSET = /inmos/prod/d4314a
133ICC = $(TOOLSET)/tools/icc -WT
134ILINK = $(TOOLSET)/tools/ilink
135ICOLLECT = $(TOOLSET)/tools/icollect
136ILINKOPT = -f startup.lnk
137IINCLUDE = $(TOOLSET)/libs/
138IXINCLUDE = /inmos/prod/iq/f011a/libs/ /inmos/prod/iq/f011a/include/
139ITCPIPINCLUDE = /inmos/swgprod/s507b/libs/c/
140ISEARCH = $(IINCLUDE) $(IXINCLUDE) $(ITCPIPINCLUDE)
141IXLIBS = iXt.lib iXmu.lib iXext.lib iXlib.lib iXau.lib iXc.lib
142ILIBS = isockc.lib libc.lib
143TRANSPUTER = -t8
144ICFLAGS = -DTRANSPUTER $(ICDEBUGFLAGS) $(DEFINES)
145XCOMM Unfortunately -O for the inmos compiler specifies output file, not optimize
146XCOMM ICDEBUGFLAGS = -g
147.SUFFIXES : .tco
148
149.c.tco :
150	ISEARCH="$(ISEARCH)" $(ICC) $(TRANSPUTER) $(ICFLAGS) $(OUTPUT_OPTION) $<
151
152#else
153#define object o
154#endif /* transputerbuild */
155
156XCOMM default args for RCS ci and co
157XCOMM override from the command line to do other things
158CIFLAGS = -u
159COFLAGS = -l
160RCSFLAGS =
161
162DEFINES = $(EXTRACCOPTIONS) -DFONT_NAME='$(FONT)' $(NDEBUG) \
163	-DSCORE_DIR='"$(SCORE)"' $(LOCK) $(TIME) $(KNR) -DSCROLLBARBUGFIX
164LOCAL_LIBRARIES = $(XAWLIB) $(XTOOLLIB) $(XMULIB) $(XLIB) $(MATHSLIB)
165DEPLIBS = $(DEPXLIB)
166
167XCOMM filenames or stems
168COMMONHDRS = patchlevel.h ansiknr.h defcom.h common.h
169MRISHDRS = xmris.h defmris.h
170MREDHDRS = xmred.h defmred.h
171COMMONSRCS = defcom.c makecom.c
172GARDENS = alphabet.gdn digits.gdn puzzle.gdn xmred.gdn
173FILES = CHANGES CHANGES.4.01 CHANGES.4.02 CHANGES.4.03 CHANGES.4.04 \
174	README COPYRIGHT Imakefile \
175	xmris.man xmred.man Xmris-ad.src
176MRISSRCS = apple.c defmris.c demo.c draw.c makemris.c \
177	monster.c move.c player.c scoring.c timer.c xmris.c
178MRISOBJS = $(MRISSRCS:.c=.object)
179SCRAMSRCS = scram.c
180SCRAMOBJS = $(SCRAMSRCS:.c=.o)
181WIDGETSRCS = Drag.c Icon.c PixmapList.c
182WIDGETOBJS = $(WIDGETSRCS:.c=.object)
183WIDGETHDRS = $(WIDGETSRCS:.c=.h)
184MREDSRCS = all.c control.c defmred.c dialogs.c garden.c makemred.c \
185	menubar.c xmred.c
186MREDOBJS = $(MREDSRCS:.c=.object)
187XCOMM name all the sprites -- these are root names
188APPLE = bitmaps/apple/apldcy.r bitmaps/apple/aplnorm.r \
189	bitmaps/apple/aplrock.r bitmaps/apple/aplrot.r \
190	bitmaps/apple/aplspl.r bitmaps/apple/gstnorm.r \
191	bitmaps/apple/gstrock.r bitmaps/apple/aplsmall.r \
192	bitmaps/apple/bigedge.r bitmaps/apple/smledge.r
193BOARD = bitmaps/board/cherry.r bitmaps/board/digits.r \
194	bitmaps/board/seat.r bitmaps/board/ball.r
195CHOMP = bitmaps/chomp/hchmpc.r bitmaps/chomp/hchmpo.r \
196	bitmaps/chomp/schmpc.r bitmaps/chomp/schmpo.r
197DRONE = bitmaps/drone/hdronw1.r bitmaps/drone/hdronw2.r \
198	bitmaps/drone/hdronf.r \
199	bitmaps/drone/sdronw1.r bitmaps/drone/sdronw2.r \
200	bitmaps/drone/sdronf.r
201ICON = bitmaps/icon/solidi.r bitmaps/icon/shelli.r \
202	bitmaps/icon/solidm.r bitmaps/icon/shellm.r \
203	bitmaps/icon/solidr.r bitmaps/icon/shellr.r \
204	bitmaps/icon/solids.r bitmaps/icon/shells.r \
205	bitmaps/icon/solidt.r bitmaps/icon/shellt.r
206MUNCH = bitmaps/munch/hmnchw1.r bitmaps/munch/hmnchw2.r \
207	bitmaps/munch/hmnchf.r \
208	bitmaps/munch/smnchw1.r bitmaps/munch/smnchw2.r \
209	bitmaps/munch/smnchf.r
210NORMAL = bitmaps/normal/hnormw1.r bitmaps/normal/hnormw2.r \
211	bitmaps/normal/hnormf.r bitmaps/normal/hden.r \
212	bitmaps/normal/snormw1.r bitmaps/normal/snormw2.r \
213	bitmaps/normal/snormf.r bitmaps/normal/sden.r
214PLAYER = bitmaps/player/hplyrf.r \
215	bitmaps/player/hplyrh1.r bitmaps/player/hplyrh2.r \
216	bitmaps/player/hplyrp1.r bitmaps/player/hplyrp2.r \
217	bitmaps/player/hplyrs1.r bitmaps/player/hplyrs2.r \
218	bitmaps/player/hplyrw1.r bitmaps/player/hplyrw2.r \
219	bitmaps/player/splyrf.r \
220	bitmaps/player/splyrp1.r bitmaps/player/splyrp2.r \
221	bitmaps/player/splyrs1.r bitmaps/player/splyrs2.r \
222	bitmaps/player/splyrw1.r bitmaps/player/splyrw2.r \
223	bitmaps/player/splyrd1.r bitmaps/player/splyrd2.r \
224	bitmaps/player/splyrh1.r bitmaps/player/splyrh2.r
225PRIZE = bitmaps/prize/cake.r bitmaps/prize/spanner.r \
226	bitmaps/prize/brolly.r bitmaps/prize/mushrm.r bitmaps/prize/clock.r \
227	bitmaps/prize/gem1.r bitmaps/prize/gem2.r bitmaps/prize/gem3.r
228XTRA = bitmaps/xtra/hxtraf.r bitmaps/xtra/hxtraw1.r bitmaps/xtra/hxtraw2.r \
229	bitmaps/xtra/sxtraf.r bitmaps/xtra/sxtraw1.r bitmaps/xtra/sxtraw2.r \
230	bitmaps/xtra/xtrbold.r bitmaps/xtra/xtrfaint.r
231EDIT = bitmaps/edit/bigearw.r bitmaps/edit/bigsarw.r \
232	bitmaps/edit/smlearw.r bitmaps/edit/smlsarw.r bitmaps/edit/path.r \
233	bitmaps/edit/red.r bitmaps/edit/green.r bitmaps/edit/blue.r \
234	bitmaps/edit/include.r bitmaps/edit/iconi.r bitmaps/edit/boardi.r \
235	bitmaps/edit/warnon.r bitmaps/edit/warnoff.r
236BITMAPS = bitmaps/bitmaps/edge.r bitmaps/bitmaps/fill0.r \
237	bitmaps/bitmaps/fill1.r bitmaps/bitmaps/fill2.r \
238	bitmaps/bitmaps/fill3.r bitmaps/bitmaps/rect.r \
239	bitmaps/bitmaps/oblong.r bitmaps/bitmaps/mris.r \
240	bitmaps/bitmaps/msit.r bitmaps/bitmaps/mred.r \
241	bitmaps/bitmaps/ghosting.r
242ALLFILES = $(FILES) $(GARDENS) $(COMMONHDRS) $(MRISHDRS) $(MREDHDRS) \
243	$(COMMONSRCS) $(MRISSRCS) $(SCRAMSRCS) $(MREDSRCS) \
244	$(WIDGETSRCS) $(WIDGETHDRS) \
245	$(APPLE:.r=.bw) $(APPLE:.r=.rgb) $(BOARD:.r=.bw) $(BOARD:.r=.rgb) \
246	$(CHOMP:.r=.bw) $(CHOMP:.r=.rgb) $(DRONE:.r=.bw) $(DRONE:.r=.rgb) \
247	$(ICON:.r=.bw) $(ICON:.r=.rgb) $(MUNCH:.r=.bw) $(MUNCH:.r=.rgb) \
248	$(NORMAL:.r=.bw) $(NORMAL:.r=.rgb) $(PLAYER:.r=.bw) $(PLAYER:.r=.rgb) \
249	$(PRIZE:.r=.bw) $(PRIZE:.r=.rgb) $(XTRA:.r=.bw) $(XTRA:.r=.rgb) \
250	$(EDIT:.r=.bw) $(EDIT:.r=.rgb) $(BITMAPS:.r=.h)
251
252XCOMM using alltarget can cause gnumake to try and make a target called all.
253XCOMM the reason is the All Target macro has no rules, so gnumake tries
254XCOMM to find an implicit one. Other makes just give up.
255all :: initialize
256	@echo "NOTE:You might get lots of warnings about discarding const from"
257	@echo "NOTE:pointer target type. Ignore these. It's because the X header"
258	@echo "NOTE:files aren't const correct. Fiddle with XrmOptionDescRec in"
259	@echo "NOTE:Xresource.h and String in Intrinsic.h by adding an _Xconst."
260	@#keep gnumake happy
261
262#if transputerbuild
263all :: xmris.btl xmred.btl
264	@#keep gnumake happy
265
266#else
267all :: xmris xmred
268	@#keep gnumake happy
269
270#endif /* transputerbuild */
271all :: README.xmris README.xmred Xmris.ad
272	@#keep gnumake happy
273
274XCOMM rules to make sure the initialize thing is done
275clean :: initialize
276	@#keep gnumake happy
277
278install :: initialize
279	@#keep gnumake happy
280
281XCOMM xmris build
282#if transputerbuild
283xmris.btl : xmris.lku
284	$(ICOLLECT) -t xmris.lku
285
286xmris.lku : $(MRISOBJS)
287	$(ILINK) $(TRANSPUTER) $(MRISOBJS) $(ILINKOPT) -o xmris.lku \
288	  $(IXLIBS) $(ILIBS)
289
290clean ::
291	$(RM) xmris.lku xmris.cfb
292
293#else
294NormalProgramTarget(xmris,$(MRISOBJS),$(DEPLIBS),$(LOCAL_LIBRARIES),)
295
296
297InstallProgramWithFlags(xmris,$(THEBINDIR),$(INSTMRISFLAGS))
298
299install :: $(THEBINDIR)/xmris
300	$(RM) $(THEBINDIR)/xmsit
301	$(LN) ./xmris $(THEBINDIR)/xmsit
302
303#endif /* transputerbuild */
304
305XCOMM xmred build
306#if transputerbuild
307xmred.btl : xmred.lku
308	$(ICOLLECT) -t xmred.lku
309
310xmred.lku : $(MREDOBJS)
311	$(ILINK) $(TRANSPUTER) $(MREDOBJS) $(ILINKOPT) -o xmred.lku \
312	  $(IXLIBS) $(ILIBS)
313
314clean ::
315	$(RM) xmred.lku xmred.cfb
316
317#else
318NormalProgramTarget(xmred,$(MREDOBJS) $(WIDGETOBJS),$(DEPLIBS),$(LOCAL_LIBRARIES) -lm,)
319
320InstallProgram(xmred,$(THEBINDIR))
321
322#endif /* transputerbuild */
323#if !transputerbuild
324XCOMM manual pages
325README.xmris : xmris.man
326	$(RM) README.xmris
327	nroff -man xmris.man > README.xmris
328
329README.xmred : xmred.man
330	$(RM) README.xmred
331	nroff -man xmred.man > README.xmred
332
333InstallManPage(xmris,$(THEMANDIR))
334
335InstallManPageAliases(xmris,$(THEMANDIR),xmsit)
336
337InstallManPage(xmred,$(THEMANDIR))
338
339#endif /* transputerbuild */
340XCOMM application resource files
341InstallAppDefaults(Xmris)
342
343Xmris.ad : Xmris-ad.src
344	sed -e 's@SCORE@$(SCORE)@' -e s@FONT@$(FONT)@ < Xmris-ad.src > Xmris.ad
345
346XCOMM score directory install
347install ::
348	MakeDir($(SCORE))
349	@#not all $(INSTALL) have a -d flag, have to do it explicitly
350	@echo installing $(INSTSCOREFLAGS) $(SCORE)
351	@set -- $(INSTSCOREFLAGS) ; \
352	while [ $$# -ne 0 ] ; \
353	do \
354	case "$$1" in \
355	"-o") shift ; chown $$1 $(SCORE) ; echo owner is $$1 ;; \
356	"-m") shift ; chmod $$1 $(SCORE) ;; \
357	"-g") shift ; chgrp $$1 $(SCORE) ; echo group is $$1 ;; \
358	*) echo unknown option '$$1' ;; \
359	esac ; \
360	shift ; \
361	done
362
363#ifdef InstallDefaultGardens
364XCOMM install default gardens
365install :: $(GARDENS)
366	MakeDir(InstallDefaultGardens)
367	@set dummy $(GARDENS) ; shift ; \
368	while [ $$# != 0 ] ; \
369	do \
370	  (set -x ; $(INSTALL) -c $(INSTAPPFLAGS) $$1 InstallDefaultGardens/$$1) ; \
371	  shift ; \
372	done
373#endif /* InstallDefaultGardens */
374
375XCOMM scram program
376NormalProgramTarget(scram,$(SCRAMOBJS),,,)
377
378clean ::
379	$(RM) $(MRISOBJS)
380	$(RM) Xmris.ad
381	$(RM) $(MREDOBJS)
382	$(RM) $(WIDGETOBJS)
383	$(RM) $(SCRAMOBJS)
384
385XCOMM tar is somewhat complicated because we want it to untar into an xmris
386XCOMM subdirectory with the correct version number (ie xmris.4.00)
387XCOMM this is done by cd'ing up, creating a link of the correct name to
388XCOMM where we are and then tarring the files in here with the directory
389XCOMM prefix tacked on. But we don't know the directory name we're in so
390XCOMM we have to determine that, and if it is already what we want, then
391XCOMM don't make a link
392tar : $(ALLFILES) README.xmris README.xmred
393	@if [ ! -f Makefile.std ] ; then \
394	  echo No Makefile.std, winging it ; \
395	  cp Makefile Makefile.std ; \
396	elif [ `ls -t Makefile Makefile.std | \
397	    sed '2,$$d'` = Makefile ] ; then \
398	  echo Warning:Makefile.std is older than Makefile ; \
399	fi
400	@echo Tarring \& feathering into $(APP).$(VERSION).tgz
401	@DIR=`pwd | sed "s+/.*/++"` ; rm="" ; \
402	if [ ! -x ../$(APP).$(VERSION) ] ; then \
403	  rm="$(RM) ../$(APP).$(VERSION)" ; \
404	  $(LN) ./$$DIR ../$(APP).$(VERSION) ; \
405	fi ; \
406	(cd .. ;  tar cf - `set README.xmris README.xmred Makefile.std \
407	    $(ALLFILES) ; \
408	  while [ $$# -ne 0 ] ; \
409	  do echo $(APP).$(VERSION)/$$1 ; shift ; \
410	  done`) | \
411	gzip -f > $(APP).$(VERSION).tgz ; \
412	$$rm
413
414XCOMM checkin all the checked out files
415XCOMM you can use MSG to set the checkin message
416checkin : $(ALLFILES)
417	@ARGS='$(CIFLAGS)' ; \
418	echo Checking in locked files with $${ARGS:-'no options'}
419	@ARGS='$(MSG)' ; \
420	FILELIST=`set $(ALLFILES) ; \
421	  (while [ $$# -ne 0 ] ; \
422	  do if [ -w $$1 ] ; then echo $$1 ; fi ; \
423	    shift ; \
424	  done) | sort` ; \
425	if [ -z "$$FILELIST" ] ; then \
426	  echo Nothing to do, all up to date ; \
427	elif [ 0$${ARGS:+1} -ne 0 ] ; then \
428	  echo Label \''$(MSG)'\' ; \
429	  ci $(CIFLAGS) -m"$(MSG)" $$FILELIST ; \
430	else \
431	  ci $(CIFLAGS) $$FILELIST ; \
432	fi ; \
433
434XCOMM checkout all the files, with COFLAGS args
435checkout :
436	@ARGS='$(COFLAGS)' ; \
437	echo Checking out all files with $${ARGS:-'no options'}
438	@co $(COFLAGS) `set $(ALLFILES) ; \
439	  while [ $$# -ne 0 ] ; \
440	  do if [ ! -w $$1 ] ; then echo $$1 ; fi ; \
441	    shift ; \
442	  done`
443
444rcs : checkin
445	@ARGS='$(RCSFLAGS)' ; \
446	echo RCSing all files with $${ARGS:-'no options'}
447	rcs $(RCSFLAGS) $(ALLFILES)
448
449XCOMM upload a tar file into this directory
450upload :
451	@arc=$(APP).$(VERSION).tgz ; \
452	if [ ! -r $$arc ] ; then \
453	  arc=$(APP).tgz ; \
454	fi ; \
455	echo Uploading from tar file $$arc ; \
456	echo Locking files about to be uploaded ; \
457	for file in `gunzip -c $$arc | tar tf -` ; \
458	do \
459	  base=`echo $$file | sed 's+^[^/]*/++'` ; \
460	  if [ ! -w $$base ] ; then \
461	    if [ -r `echo ./$$base | sed 's+/[^/]*$$++'`/RCS/`echo $$base | sed 's+.*/++'`,v ] ; then \
462	      co -l $$base ; \
463	    fi ; \
464	  fi ; \
465	done ; \
466	echo Commencing upload from $$arc ; \
467	DIR=`pwd | sed "s+/.*/++"` ; rm="" ; \
468	if [ ! -x ../$(APP).$(VERSION) ] ; then \
469	  rm="$(RM) ../$(APP).$(VERSION)" ; \
470	  $(LN) ./$$DIR ../$(APP).$(VERSION) ; \
471	fi ; \
472	(cd .. ; gunzip -c $(APP).$(VERSION)/$$arc | tar xvf -) ; \
473	$$rm ; \
474	echo Chmoding files which were uploaded ; \
475	for file in `gunzip -c $$arc | tar tf -` ; \
476	do \
477	  chmod +w `echo $$file | sed 's+^[^/]*/++'` ; \
478	done ; \
479	echo Upload from $$arc complete ; \
480	echo Don\'t for get to check them all in now
481
482Makefile.std :: initialize
483	cp Makefile Makefile.std
484	@echo You may want to edit Makefile.std now
485
486XCOMM these are the object dependencies
487$(MRISOBJS) : xmris.h common.h ansiknr.h patchlevel.h
488
489makemris.object : defmris.h defcom.h makecom.c
490
491defmris.object : defmris.h defcom.h defcom.c bitmaps/sprites
492
493draw.object : digits.gdn
494
495$(MREDOBJS) : xmred.h common.h ansiknr.h patchlevel.h
496
497all.object : Drag.h Icon.h PixmapList.h
498
499control.object : Drag.h Icon.h
500
501defmred.object : defmred.h defcom.h defcom.c bitmaps/sprites xmred.gdn
502
503makemred.object : defmred.h defcom.h makecom.c Icon.h PixmapList.h
504
505$(SCRAMOBJS) : ansiknr.h
506
507Drag.object : Drag.h
508
509Icon.object : Drag.h Icon.h
510
511PixmapList.object : PixmapList.h Drag.h
512
513XCOMM dependencies for single files
514XCOMM can't use $(@:.o=.c) or similar clever thing, 'cos its incompatible
515XCOMM gnumake is clever enough to perform a check out using implicit rules
516#define SINGLEDEPEND(root,target,depend) root.target : root.depend @@
517SINGLEDEPEND(apple,object,c)
518SINGLEDEPEND(defmris,object,c)
519SINGLEDEPEND(demo,object,c)
520SINGLEDEPEND(draw,object,c)
521SINGLEDEPEND(makemris,object,c)
522SINGLEDEPEND(monster,object,c)
523SINGLEDEPEND(move,object,c)
524SINGLEDEPEND(player,object,c)
525SINGLEDEPEND(scoring,object,c)
526SINGLEDEPEND(timer,object,c)
527SINGLEDEPEND(xmris,object,c)
528SINGLEDEPEND(scram,object,c)
529SINGLEDEPEND(Drag,object,c)
530SINGLEDEPEND(Icon,object,c)
531SINGLEDEPEND(PixmapList,object,c)
532SINGLEDEPEND(all,object,c)
533SINGLEDEPEND(control,object,c)
534SINGLEDEPEND(defmred,object,c)
535SINGLEDEPEND(dialogs,object,c)
536SINGLEDEPEND(garden,object,c)
537SINGLEDEPEND(makemred,object,c)
538SINGLEDEPEND(menubar,object,c)
539SINGLEDEPEND(xmred,object,c)
540XCOMM sprite rules
541SPRITEMARKERS = bitmaps/apple/sprites bitmaps/board/sprites \
542	bitmaps/icon/sprites bitmaps/player/sprites bitmaps/normal/sprites \
543	bitmaps/munch/sprites bitmaps/xtra/sprites bitmaps/drone/sprites \
544	bitmaps/chomp/sprites bitmaps/prize/sprites bitmaps/edit/sprites \
545	bitmaps/bitmaps/sprites
546clean ::
547	$(RM) $(APPLE:.r=.h)
548	$(RM) $(BOARD:.r=.h)
549	$(RM) $(CHOMP:.r=.h)
550	$(RM) $(DRONE:.r=.h)
551	$(RM) $(ICON:.r=.h)
552	$(RM) $(MUNCH:.r=.h)
553	$(RM) $(NORMAL:.r=.h)
554	$(RM) $(PLAYER:.r=.h)
555	$(RM) $(PRIZE:.r=.h)
556	$(RM) $(XTRA:.r=.h)
557	$(RM) $(EDIT:.r=.h)
558	$(RM) bitmaps/sprites $(SPRITEMARKERS)
559
560XCOMM makes the sprites from the rgb and bw images
561
562bitmaps/sprites : $(SPRITEMARKERS)
563	touch $@
564
565bitmaps/apple/sprites : $(APPLE:.r=.h)
566	touch $@
567
568bitmaps/board/sprites : $(BOARD:.r=.h)
569	touch $@
570
571bitmaps/chomp/sprites : $(CHOMP:.r=.h)
572	touch $@
573
574bitmaps/drone/sprites : $(DRONE:.r=.h)
575	touch $@
576
577bitmaps/icon/sprites : $(ICON:.r=.h)
578	touch $@
579
580bitmaps/munch/sprites : $(MUNCH:.r=.h)
581	touch $@
582
583bitmaps/normal/sprites : $(NORMAL:.r=.h)
584	touch $@
585
586bitmaps/player/sprites : $(PLAYER:.r=.h)
587	touch $@
588
589bitmaps/prize/sprites : $(PRIZE:.r=.h)
590	touch $@
591
592bitmaps/xtra/sprites : $(XTRA:.r=.h)
593	touch $@
594
595bitmaps/edit/sprites : $(EDIT:.r=.h)
596	touch $@
597
598bitmaps/bitmaps/sprites : $(BITMAPS:.r=.h)
599	touch $@
600
601XCOMM sprite building rule, again clever make stuff is incompatible
602#define SPRITEBUILD(root,flags,noswap,swap,edge) \
603root.h : ./scram root.rgb root.bw					@@\
604	./scram root flags noswap + swap + edge
605
606SPRITEBUILD(bitmaps/apple/apldcy,,\
607COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\
608COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\
609COLOR_BLACK)
610
611SPRITEBUILD(bitmaps/apple/aplnorm,,\
612COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\
613COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\
614COLOR_BLACK)
615
616SPRITEBUILD(bitmaps/apple/aplrock,,\
617COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\
618COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\
619COLOR_BLACK)
620
621SPRITEBUILD(bitmaps/apple/aplrot,,\
622COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\
623COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\
624COLOR_BLACK)
625
626SPRITEBUILD(bitmaps/apple/aplspl,,\
627COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\
628COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\
629COLOR_BLACK)
630
631SPRITEBUILD(bitmaps/apple/gstnorm,,\
632COLOR_APPLE_FAINT COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE,\
633COLOR_BACKGROUND COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE,\
634COLOR_APPLE_FAINT)
635
636SPRITEBUILD(bitmaps/apple/gstrock,,\
637COLOR_APPLE_FAINT COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE,\
638COLOR_BACKGROUND COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE,\
639COLOR_APPLE_FAINT)
640
641SPRITEBUILD(bitmaps/apple/aplsmall,,\
642COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\
643COLOR_APPLE_1 COLOR_APPLE_2 COLOR_WHITE COLOR_BLACK,\
644COLOR_BLACK)
645
646SPRITEBUILD(bitmaps/apple/bigedge,-s,COLOR_APPLE_FAINT,COLOR_APPLE_FAINT,)
647
648SPRITEBUILD(bitmaps/apple/smledge,-s,COLOR_APPLE_FAINT,COLOR_APPLE_FAINT,)
649
650SPRITEBUILD(bitmaps/board/cherry,+s,\
651COLOR_WHITE COLOR_CHERRY COLOR_BLACK COLOR_BLACK,\
652COLOR_WHITE COLOR_CHERRY COLOR_BLACK COLOR_CHERRY_STALK,\
653COLOR_BLACK)
654
655SPRITEBUILD(bitmaps/board/ball,+n,COLOR_BALL,COLOR_BALL,COLOR_BLACK)
656
657SPRITEBUILD(bitmaps/board/digits,-s,\
658COLOR_BACKGROUND COLOR_BLACK,COLOR_BACKGROUND COLOR_WHITE,)
659
660SPRITEBUILD(bitmaps/board/seat,-s,\
661COLOR_SEAT COLOR_BLACK,COLOR_SEAT COLOR_WHITE,)
662
663SPRITEBUILD(bitmaps/chomp/hchmpc,,\
664COLOR_CHOMP COLOR_BLACK COLOR_WHITE COLOR_CHOMP_LIP COLOR_BLACK COLOR_BLACK,\
665COLOR_CHOMP COLOR_CHOMP COLOR_BLACK COLOR_CHOMP_LIP COLOR_BLACK COLOR_WHITE,\
666COLOR_BLACK)
667
668SPRITEBUILD(bitmaps/chomp/hchmpo,,\
669COLOR_CHOMP COLOR_BLACK COLOR_WHITE COLOR_CHOMP_LIP COLOR_BLACK COLOR_BLACK,\
670COLOR_CHOMP COLOR_CHOMP COLOR_BLACK COLOR_CHOMP_LIP COLOR_BLACK COLOR_WHITE,\
671COLOR_BLACK)
672
673SPRITEBUILD(bitmaps/chomp/schmpc,,\
674COLOR_WHITE COLOR_CHOMP COLOR_BLACK COLOR_BLACK,\
675COLOR_WHITE COLOR_CHOMP COLOR_CHOMP COLOR_BLACK,)
676
677SPRITEBUILD(bitmaps/chomp/schmpo,,\
678COLOR_WHITE COLOR_CHOMP COLOR_CHOMP_TONGUE COLOR_BLACK COLOR_BLACK,\
679COLOR_WHITE COLOR_CHOMP COLOR_CHOMP_TONGUE COLOR_CHOMP COLOR_BLACK,)
680
681SPRITEBUILD(bitmaps/drone/hdronf,,\
682COLOR_WHITE COLOR_DRONE COLOR_BLACK COLOR_WHITE,\
683COLOR_BLACK COLOR_DRONE COLOR_WHITE COLOR_WHITE,COLOR_BLACK)
684
685SPRITEBUILD(bitmaps/drone/hdronw1,,\
686COLOR_WHITE COLOR_DRONE COLOR_BLACK COLOR_WHITE COLOR_BLACK,\
687COLOR_BLACK COLOR_DRONE COLOR_WHITE COLOR_WHITE COLOR_BACKGROUND,\
688COLOR_BLACK)
689
690SPRITEBUILD(bitmaps/drone/hdronw2,,\
691COLOR_WHITE COLOR_DRONE COLOR_BLACK COLOR_WHITE COLOR_BLACK,\
692COLOR_BLACK COLOR_DRONE COLOR_WHITE COLOR_WHITE COLOR_BACKGROUND,\
693COLOR_BLACK)
694
695SPRITEBUILD(bitmaps/drone/sdronf,,\
696COLOR_DRONE COLOR_BLACK COLOR_BLACK,\
697COLOR_DRONE COLOR_DRONE COLOR_BLACK,)
698
699SPRITEBUILD(bitmaps/drone/sdronw1,,\
700COLOR_WHITE COLOR_DRONE COLOR_BLACK COLOR_BLACK,\
701COLOR_WHITE COLOR_DRONE COLOR_DRONE COLOR_BLACK,)
702
703SPRITEBUILD(bitmaps/drone/sdronw2,,\
704COLOR_WHITE COLOR_DRONE COLOR_DRONE_TONGUE COLOR_BLACK COLOR_BLACK,\
705COLOR_WHITE COLOR_DRONE COLOR_DRONE_TONGUE COLOR_DRONE COLOR_BLACK,)
706
707SPRITEBUILD(bitmaps/icon/solidi,-s,COLOR_LETTER_GOT,COLOR_LETTER_GOT,)
708
709SPRITEBUILD(bitmaps/icon/solidm,-s,COLOR_LETTER_GOT,COLOR_LETTER_GOT,)
710
711SPRITEBUILD(bitmaps/icon/solidr,-s,COLOR_LETTER_GOT,COLOR_LETTER_GOT,)
712
713SPRITEBUILD(bitmaps/icon/solids,-s,COLOR_LETTER_GOT,COLOR_LETTER_GOT,)
714
715SPRITEBUILD(bitmaps/icon/solidt,-s,COLOR_LETTER_GOT,COLOR_LETTER_GOT,)
716
717SPRITEBUILD(bitmaps/icon/shelli,-s,COLOR_LETTER_NOT_GOT,COLOR_LETTER_NOT_GOT,)
718
719SPRITEBUILD(bitmaps/icon/shellm,-s,COLOR_LETTER_NOT_GOT,COLOR_LETTER_NOT_GOT,)
720
721SPRITEBUILD(bitmaps/icon/shellr,-s,COLOR_LETTER_NOT_GOT,COLOR_LETTER_NOT_GOT,)
722
723SPRITEBUILD(bitmaps/icon/shells,-s,COLOR_LETTER_NOT_GOT,COLOR_LETTER_NOT_GOT,)
724
725SPRITEBUILD(bitmaps/icon/shellt,-s,COLOR_LETTER_NOT_GOT,COLOR_LETTER_NOT_GOT,)
726
727SPRITEBUILD(bitmaps/munch/hmnchf,,\
728COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_BLACK COLOR_WHITE COLOR_BLACK,\
729COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_BLACK COLOR_WHITE COLOR_WHITE,\
730COLOR_BLACK)
731
732SPRITEBUILD(bitmaps/munch/hmnchw1,,\
733COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_BLACK COLOR_WHITE COLOR_BLACK COLOR_BLACK,\
734COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_MUNCH_2 COLOR_WHITE COLOR_BLACK COLOR_WHITE,\
735COLOR_BLACK)
736
737SPRITEBUILD(bitmaps/munch/hmnchw2,,\
738COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_BLACK COLOR_WHITE COLOR_BLACK COLOR_BLACK,\
739COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_MUNCH_2 COLOR_WHITE COLOR_BLACK COLOR_WHITE,\
740COLOR_BLACK)
741
742SPRITEBUILD(bitmaps/munch/smnchf,,\
743COLOR_WHITE COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_BLACK COLOR_BLACK COLOR_BLACK,\
744COLOR_WHITE COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_MUNCH_1 COLOR_MUNCH_2 \
745COLOR_BLACK,)
746
747SPRITEBUILD(bitmaps/munch/smnchw1,,COLOR_WHITE COLOR_MUNCH_1 \
748COLOR_MUNCH_2 COLOR_BLACK COLOR_BLACK COLOR_BLACK COLOR_BLACK,\
749COLOR_WHITE COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_WHITE COLOR_MUNCH_1 \
750COLOR_MUNCH_2 COLOR_BLACK,)
751
752SPRITEBUILD(bitmaps/munch/smnchw2,,\
753COLOR_WHITE COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_BLACK COLOR_BLACK COLOR_BLACK,\
754COLOR_WHITE COLOR_MUNCH_1 COLOR_MUNCH_2 COLOR_MUNCH_1 COLOR_MUNCH_2 \
755COLOR_BLACK,)
756
757SPRITEBUILD(bitmaps/normal/hden,-s,\
758COLOR_NORMAL COLOR_NORMAL COLOR_WHITE COLOR_BLACK,\
759COLOR_NORMAL COLOR_NORMAL COLOR_BLACK COLOR_WHITE,)
760
761SPRITEBUILD(bitmaps/normal/hnormf,-s,\
762COLOR_NORMAL COLOR_NORMAL COLOR_WHITE COLOR_BLACK,\
763COLOR_NORMAL COLOR_NORMAL COLOR_BLACK COLOR_WHITE,)
764
765SPRITEBUILD(bitmaps/normal/hnormw1,-s,\
766COLOR_NORMAL COLOR_NORMAL COLOR_WHITE COLOR_BLACK,\
767COLOR_NORMAL COLOR_NORMAL COLOR_BLACK COLOR_WHITE,)
768
769SPRITEBUILD(bitmaps/normal/hnormw2,-s,\
770COLOR_NORMAL COLOR_NORMAL COLOR_WHITE COLOR_BLACK,\
771COLOR_NORMAL COLOR_NORMAL COLOR_BLACK COLOR_WHITE,)
772
773SPRITEBUILD(bitmaps/normal/sden,,\
774COLOR_WHITE COLOR_NORMAL COLOR_BLACK COLOR_BLACK,\
775COLOR_WHITE COLOR_NORMAL COLOR_WHITE COLOR_BLACK,)
776
777SPRITEBUILD(bitmaps/normal/snormf,,\
778COLOR_WHITE COLOR_NORMAL COLOR_BLACK COLOR_BLACK,\
779COLOR_WHITE COLOR_NORMAL COLOR_NORMAL COLOR_BLACK,)
780
781SPRITEBUILD(bitmaps/normal/snormw1,,\
782COLOR_WHITE COLOR_NORMAL COLOR_BLACK COLOR_BLACK,\
783COLOR_WHITE COLOR_NORMAL COLOR_NORMAL COLOR_BLACK,)
784
785SPRITEBUILD(bitmaps/normal/snormw2,,\
786COLOR_WHITE COLOR_NORMAL COLOR_BLACK COLOR_BLACK,\
787COLOR_WHITE COLOR_NORMAL COLOR_NORMAL COLOR_BLACK,)
788
789SPRITEBUILD(bitmaps/player/hplyrf,,COLOR_PLAYER_BOBBLE \
790COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\
791COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \
792COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK)
793
794SPRITEBUILD(bitmaps/player/hplyrh1,,COLOR_PLAYER_BOBBLE \
795COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\
796COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \
797COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK)
798
799SPRITEBUILD(bitmaps/player/hplyrh2,,COLOR_PLAYER_BOBBLE \
800COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\
801COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \
802COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK)
803
804SPRITEBUILD(bitmaps/player/hplyrp1,,COLOR_PLAYER_BOBBLE \
805COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND \
806COLOR_BLACK,COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \
807COLOR_PLAYER_BOOT COLOR_BACKGROUND COLOR_WHITE,COLOR_BLACK)
808
809SPRITEBUILD(bitmaps/player/hplyrp2,,COLOR_PLAYER_BOBBLE \
810COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND \
811COLOR_BLACK,COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \
812COLOR_PLAYER_BOOT COLOR_BACKGROUND COLOR_WHITE,COLOR_BLACK)
813
814SPRITEBUILD(bitmaps/player/hplyrs1,,COLOR_PLAYER_BOBBLE \
815COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\
816COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \
817COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK)
818
819SPRITEBUILD(bitmaps/player/hplyrs2,,COLOR_PLAYER_BOBBLE \
820COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\
821COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \
822COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK)
823
824SPRITEBUILD(bitmaps/player/hplyrw1,,COLOR_PLAYER_BOBBLE \
825COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\
826COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \
827COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK)
828
829SPRITEBUILD(bitmaps/player/hplyrw2,,COLOR_PLAYER_BOBBLE \
830COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BACKGROUND,\
831COLOR_PLAYER_BOBBLE COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK \
832COLOR_PLAYER_BOOT COLOR_BACKGROUND,COLOR_BLACK)
833
834SPRITEBUILD(bitmaps/player/splyrf,,COLOR_PLAYER_BOBBLE \
835COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \
836COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \
837COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \
838COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,)
839
840SPRITEBUILD(bitmaps/player/splyrp1,,COLOR_PLAYER_BOBBLE \
841COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \
842COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \
843COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \
844COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,)
845
846SPRITEBUILD(bitmaps/player/splyrp2,,COLOR_PLAYER_BOBBLE \
847COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \
848COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \
849COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \
850COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,)
851
852SPRITEBUILD(bitmaps/player/splyrs1,,COLOR_PLAYER_BOBBLE \
853COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \
854COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \
855COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \
856COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,)
857
858SPRITEBUILD(bitmaps/player/splyrs2,,COLOR_PLAYER_BOBBLE \
859COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \
860COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \
861COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \
862COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,)
863
864SPRITEBUILD(bitmaps/player/splyrw1,,COLOR_PLAYER_BOBBLE \
865COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \
866COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \
867COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \
868COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,)
869
870SPRITEBUILD(bitmaps/player/splyrw2,,COLOR_PLAYER_BOBBLE \
871COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \
872COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \
873COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \
874COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,)
875
876SPRITEBUILD(bitmaps/player/splyrd1,,COLOR_PLAYER_BOBBLE \
877COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \
878COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \
879COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \
880COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,)
881
882SPRITEBUILD(bitmaps/player/splyrd2,,COLOR_PLAYER_BOBBLE \
883COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \
884COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \
885COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \
886COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,)
887
888SPRITEBUILD(bitmaps/player/splyrh1,,COLOR_PLAYER_BOBBLE \
889COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \
890COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \
891COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \
892COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,)
893
894SPRITEBUILD(bitmaps/player/splyrh2,,COLOR_PLAYER_BOBBLE \
895COLOR_PLAYER COLOR_PLAYER_FACE COLOR_BLACK COLOR_BLACK COLOR_BLACK \
896COLOR_BLACK COLOR_PLAYER_BOOT,COLOR_PLAYER_BOBBLE COLOR_PLAYER \
897COLOR_PLAYER_FACE COLOR_BLACK COLOR_PLAYER_BOBBLE COLOR_PLAYER \
898COLOR_PLAYER_FACE COLOR_PLAYER_BOOT,)
899
900SPRITEBUILD(bitmaps/prize/cake,+s,\
901COLOR_CAKE_ICING COLOR_CAKE COLOR_BLACK COLOR_CAKE_JAM,\
902COLOR_CAKE_ICING COLOR_CAKE COLOR_BLACK COLOR_CAKE_JAM,\
903COLOR_BLACK)
904
905SPRITEBUILD(bitmaps/prize/spanner,+s,COLOR_SPANNER_SHADOW COLOR_SPANNER,\
906COLOR_SPANNER_SHADOW COLOR_SPANNER, COLOR_BLACK)
907
908SPRITEBUILD(bitmaps/prize/brolly,+s,\
909COLOR_BROLLY_1 COLOR_BROLLY_2 COLOR_BROLLY_HANDLE COLOR_BLACK,\
910COLOR_BROLLY_1 COLOR_BROLLY_2 COLOR_BROLLY_HANDLE COLOR_BLACK,\
911COLOR_BLACK)
912
913SPRITEBUILD(bitmaps/prize/mushrm,+s,\
914COLOR_MUSHROOM_STALK COLOR_MUSHROOM_CAP COLOR_BLACK COLOR_WHITE,\
915COLOR_MUSHROOM_STALK COLOR_MUSHROOM_CAP COLOR_BLACK COLOR_WHITE,\
916COLOR_BLACK)
917
918SPRITEBUILD(bitmaps/prize/clock,+s,\
919COLOR_CLOCK_FACE COLOR_BLACK COLOR_CLOCK_BELL COLOR_CLOCK_EDGE,\
920COLOR_CLOCK_FACE COLOR_BLACK COLOR_CLOCK_BELL COLOR_CLOCK_EDGE,\
921COLOR_BLACK)
922
923SPRITEBUILD(bitmaps/prize/gem1,,COLOR_WHITE COLOR_GEM_1 \
924COLOR_GEM_2 COLOR_BLACK COLOR_BLACK COLOR_BLACK COLOR_BLACK,\
925COLOR_WHITE COLOR_GEM_1 COLOR_GEM_2 COLOR_WHITE COLOR_GEM_1 COLOR_GEM_2 \
926COLOR_BLACK,)
927
928SPRITEBUILD(bitmaps/prize/gem2,,COLOR_WHITE COLOR_GEM_1 \
929COLOR_GEM_2 COLOR_BLACK COLOR_BLACK COLOR_BLACK COLOR_BLACK,\
930COLOR_WHITE COLOR_GEM_1 COLOR_GEM_2 COLOR_WHITE COLOR_GEM_1 COLOR_GEM_2 \
931COLOR_BLACK,)
932
933SPRITEBUILD(bitmaps/prize/gem3,,COLOR_WHITE COLOR_GEM_1 \
934COLOR_GEM_2 COLOR_BLACK COLOR_BLACK COLOR_BLACK COLOR_BLACK,\
935COLOR_WHITE COLOR_GEM_1 COLOR_GEM_2 COLOR_WHITE COLOR_GEM_1 COLOR_GEM_2 \
936COLOR_BLACK,)
937
938SPRITEBUILD(bitmaps/xtra/sxtraf,,\
939COLOR_WHITE COLOR_XTRA COLOR_BLACK,COLOR_BLACK COLOR_XTRA COLOR_XTRA,)
940
941SPRITEBUILD(bitmaps/xtra/sxtraw1,,\
942COLOR_WHITE COLOR_XTRA COLOR_BLACK COLOR_BLACK COLOR_BLACK,\
943COLOR_WHITE COLOR_XTRA COLOR_WHITE COLOR_XTRA COLOR_BLACK,)
944
945SPRITEBUILD(bitmaps/xtra/sxtraw2,,\
946COLOR_WHITE COLOR_XTRA COLOR_BLACK COLOR_BLACK COLOR_BLACK,\
947COLOR_WHITE COLOR_XTRA COLOR_WHITE COLOR_XTRA COLOR_BLACK,)
948
949SPRITEBUILD(bitmaps/xtra/hxtraf,-s,\
950COLOR_XTRA COLOR_WHITE COLOR_BLACK,COLOR_XTRA COLOR_BLACK COLOR_WHITE,)
951
952SPRITEBUILD(bitmaps/xtra/hxtraw1,-s,\
953COLOR_XTRA COLOR_WHITE COLOR_BLACK,COLOR_XTRA COLOR_BLACK COLOR_WHITE,)
954
955SPRITEBUILD(bitmaps/xtra/hxtraw2,-s,\
956COLOR_XTRA COLOR_WHITE COLOR_BLACK,COLOR_XTRA COLOR_BLACK COLOR_WHITE,)
957
958SPRITEBUILD(bitmaps/xtra/xtrbold,-s,\
959- COLOR_LETTER_GOT,- COLOR_LETTER_GOT,)
960
961SPRITEBUILD(bitmaps/xtra/xtrfaint,-s,\
962- COLOR_LETTER_NOT_GOT,- COLOR_LETTER_NOT_GOT,)
963
964SPRITEBUILD(bitmaps/edit/bigearw,-s,COLOR_APPLE_FAINT,COLOR_APPLE_FAINT,)
965
966SPRITEBUILD(bitmaps/edit/bigsarw,-s,COLOR_APPLE_FAINT,COLOR_APPLE_FAINT,)
967
968SPRITEBUILD(bitmaps/edit/smlearw,-s,COLOR_APPLE_FAINT,COLOR_APPLE_FAINT,)
969
970SPRITEBUILD(bitmaps/edit/smlsarw,-s,COLOR_APPLE_FAINT,COLOR_APPLE_FAINT,)
971
972SPRITEBUILD(bitmaps/edit/path,-s,COLOR_BACKGROUND,COLOR_BACKGROUND,)
973
974SPRITEBUILD(bitmaps/edit/red,-s,COLOR_RED_FORE,COLOR_RED_FORE,)
975
976SPRITEBUILD(bitmaps/edit/green,-s,COLOR_GREEN_FORE,COLOR_GREEN_FORE,)
977
978SPRITEBUILD(bitmaps/edit/blue,-s,COLOR_BLUE_FORE,COLOR_BLUE_FORE,)
979
980SPRITEBUILD(bitmaps/edit/include,-s -c -m,\
981COLOR_BACKGROUND COLOR_BORDER COLOR_BACKGROUND COLOR_RED_FORE \
982COLOR_BACKGROUND COLOR_BLUE_FORE COLOR_BACKGROUND COLOR_GREEN_FORE,\
983COLOR_BACKGROUND COLOR_BORDER COLOR_BACKGROUND COLOR_RED_FORE \
984COLOR_BACKGROUND COLOR_BLUE_FORE COLOR_BACKGROUND COLOR_GREEN_FORE,)
985
986SPRITEBUILD(bitmaps/edit/iconi,-s -c -m,COLOR_BACKGROUND COLOR_FOREGROUND,\
987COLOR_BACKGROUND COLOR_FOREGROUND,)
988
989SPRITEBUILD(bitmaps/edit/boardi,-s -c -m,COLOR_BACKGROUND COLOR_FOREGROUND,\
990COLOR_BACKGROUND COLOR_FOREGROUND,)
991
992SPRITEBUILD(bitmaps/edit/warnon,-s -c -m,COLOR_BACKGROUND COLOR_FOREGROUND,\
993COLOR_BACKGROUND COLOR_FOREGROUND,)
994
995SPRITEBUILD(bitmaps/edit/warnoff,-s -c -m,COLOR_BACKGROUND COLOR_FOREGROUND,\
996COLOR_BACKGROUND COLOR_FOREGROUND,)
997
998.DONE :
999	@echo "Hurrah!"
1000
1001.FAILED :
1002	@echo "Bummer!"
1003
1004XCOMM initialize rule is done before all makes. Not all makes
1005XCOMM have a .INIT implicit rule, so I don't use that
1006initialize :
1007	@echo Checking a few things
1008	@if [ `ls -t Makefile Imakefile | sed '2,$$d'` = Imakefile ] ; then \
1009	  echo Warning:Makefile is older than Imakefile ; \
1010	fi
1011	@if [ ! -d `echo '$(SCORE)' | sed 's=/[^/]*$$=='` ] ; then \
1012	  echo The parent of $(SCORE) does not exist ; \
1013	fi
1014	@if [ $(FONT) = "" ] ; then true ; \
1015	elif echo $(FONT) | grep -c -- '-m-.*-.*-.*$$' > /dev/null ; then \
1016	  if [ "$(XLSFONTS)" = "" -o "$(DISPLAY)" = "" ] ; then \
1017	    XLSFONTS="" ; \
1018	  elif [ -x $(XLSFONTS) ] ; then \
1019	    XLSFONTS=$(XLSFONTS) ; \
1020	  elif [ -x $(BINDIR)/$(XLSFONTS) ] ; then \
1021	    XLSFONTS=$(BINDIR)/$(XLSFONTS) ; \
1022	  elif [ -x /usr/bin/X11/$(XLSFONTS) ] ; then \
1023	    XLSFONTS=/usr/bin/X11/$(XLSFONTS) ; \
1024	  else \
1025	    XLSFONTS="" ; \
1026	  fi ; \
1027	  if [ "$$XLSFONTS" = "" ] ; then \
1028	    true ; \
1029	  elif [ `$$xlsfonts -o -fn "$(FONT)" 2> /dev/null | wc -l` -eq 0 ] ; then \
1030	    echo Warning:Font $(FONT) not found ; \
1031	  fi ; \
1032	else \
1033	  echo Warning:Font $(FONT) is not fixed width ; \
1034	fi
1035	@echo "Geronimo!"
1036
1037XCOMM default rule looks for an RCS file to check out
1038XCOMM not required for gmake, as that already has a rule for it
1039.DEFAULT :
1040	@if echo $@ | grep -cv '^/' > /dev/null && \
1041	  [ -f `echo ./$@ | sed 's+^\(.*/\)\([^/]*\)$$+\1RCS/\2,v+'` ] ; then \
1042	    co $(COFLAGS) $@ ; \
1043	else \
1044	  echo Cannot make $@ and cannot find one made. ; \
1045	  exit 1 ; \
1046	fi
1047