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