1*42fb1b9dScgd# $NetBSD: Makequest,v 1.2 1995/03/23 08:29:08 cgd Exp $ 2*42fb1b9dScgd# 361f28255Scgd# Hack or Quest Makefile. 461f28255Scgd 561f28255Scgd# on some systems the termcap library is in -ltermcap 661f28255ScgdTERMLIB = -ltermlib 761f28255Scgd 861f28255Scgd 961f28255Scgd# make hack 1061f28255ScgdGAME = quest 1161f28255ScgdGAMEDIR = /usr/games/lib/questdir 1261f28255ScgdCFLAGS = -g -DQUEST 1361f28255ScgdHACKCSRC = hack.Decl.c\ 1461f28255Scgd hack.apply.c hack.bones.c hack.c hack.cmd.c hack.do.c\ 1561f28255Scgd hack.do_name.c hack.do_wear.c hack.dog.c hack.eat.c hack.end.c\ 1661f28255Scgd hack.engrave.c hack.fight.c hack.invent.c hack.ioctl.c\ 1761f28255Scgd hack.lev.c hack.main.c hack.makemon.c hack.mhitu.c\ 1861f28255Scgd hack.mklev.c hack.mkmaze.c hack.mkobj.c hack.mkshop.c\ 1961f28255Scgd hack.mon.c hack.monst.c hack.o_init.c hack.objnam.c\ 2061f28255Scgd hack.options.c hack.pager.c hack.potion.c hack.pri.c\ 2161f28255Scgd hack.read.c hack.rip.c hack.rumors.c hack.save.c\ 2261f28255Scgd hack.search.c hack.shk.c hack.shknam.c hack.steal.c\ 2361f28255Scgd hack.termcap.c hack.timeout.c hack.topl.c\ 2461f28255Scgd hack.track.c hack.trap.c hack.tty.c hack.unix.c\ 2561f28255Scgd hack.u_init.c hack.vault.c\ 2661f28255Scgd hack.wield.c hack.wizard.c hack.worm.c hack.worn.c hack.zap.c\ 2761f28255Scgd hack.version.c rnd.c alloc.c 2861f28255Scgd 2961f28255ScgdCSOURCES = $(HACKCSRC) makedefs.c 3061f28255Scgd 3161f28255ScgdHSOURCES = hack.h hack.mfndpos.h config.h\ 3261f28255Scgd def.edog.h def.eshk.h def.flag.h def.func_tab.h def.gold.h\ 3361f28255Scgd def.mkroom.h\ 3461f28255Scgd def.monst.h def.obj.h def.objclass.h def.objects.h\ 3561f28255Scgd def.permonst.h def.rm.h def.trap.h def.wseg.h 3661f28255Scgd 3761f28255ScgdSOURCES = $(CSOURCES) $(HSOURCES) 3861f28255Scgd 3961f28255ScgdAUX = data help hh rumors hack.6 hack.sh 4061f28255Scgd 4161f28255ScgdDISTR = $(SOURCES) $(AUX) READ_ME Makefile date.h hack.onames.h 4261f28255Scgd 4361f28255ScgdHOBJ = hack.Decl.o hack.apply.o hack.bones.o hack.o hack.cmd.o hack.do.o\ 4461f28255Scgd hack.do_name.o hack.do_wear.o hack.dog.o hack.eat.o hack.end.o\ 4561f28255Scgd hack.engrave.o hack.fight.o hack.invent.o hack.ioctl.o\ 4661f28255Scgd hack.lev.o hack.main.o hack.makemon.o hack.mhitu.o hack.mklev.o\ 4761f28255Scgd hack.mkmaze.o hack.mkobj.o hack.mkshop.o hack.mon.o\ 4861f28255Scgd hack.monst.o hack.o_init.o hack.objnam.o hack.options.o\ 4961f28255Scgd hack.pager.o hack.potion.o hack.pri.o\ 5061f28255Scgd hack.read.o hack.rip.o hack.rumors.o hack.save.o\ 5161f28255Scgd hack.search.o hack.shk.o hack.shknam.o hack.steal.o\ 5261f28255Scgd hack.termcap.o hack.timeout.o hack.topl.o\ 5361f28255Scgd hack.track.o hack.trap.o\ 5461f28255Scgd hack.tty.o hack.unix.o hack.u_init.o hack.vault.o hack.wield.o\ 5561f28255Scgd hack.wizard.o hack.worm.o hack.worn.o hack.zap.o\ 5661f28255Scgd hack.version.o rnd.o alloc.o 5761f28255Scgd 5861f28255Scgd$(GAME): $(HOBJ) Makefile 5961f28255Scgd @echo "Loading ..." 6061f28255Scgd @ld -X -o $(GAME) /lib/crt0.o $(HOBJ) $(TERMLIB) -lc 6161f28255Scgd 6261f28255Scgdall: $(GAME) lint 6361f28255Scgd @echo "Done." 6461f28255Scgd 6561f28255Scgdmakedefs: makedefs.c 6661f28255Scgd cc -o makedefs makedefs.c 6761f28255Scgd 6861f28255Scgd 6961f28255Scgdhack.onames.h: makedefs def.objects.h 7061f28255Scgd makedefs > hack.onames.h 7161f28255Scgd 7261f28255Scgdlint: 7361f28255Scgd# lint cannot have -p here because (i) capitals are meaningful: 7461f28255Scgd# [Ww]izard, (ii) identifiers may coincide in the first six places: 7561f28255Scgd# doweararm() versus dowearring(). 7661f28255Scgd# _flsbuf comes from <stdio.h>, a bug in the system libraries. 7761f28255Scgd @echo lint -axbh -DLINT ... 7861f28255Scgd @lint -axbh -DLINT $(HACKCSRC) | sed '/_flsbuf/d' 7961f28255Scgd 8061f28255Scgd 8161f28255Scgddiff: 8261f28255Scgd @- for i in $(SOURCES) $(AUX) ; do \ 8361f28255Scgd cmp -s $$i $D/$$i || \ 8461f28255Scgd ( echo diff $D/$$i $$i ; diff $D/$$i $$i ; echo ) ; done 8561f28255Scgd 8661f28255Scgddistribution: Makefile 8761f28255Scgd @- for i in READ_ME $(SOURCES) $(AUX) Makefile date.h hack.onames.h\ 8861f28255Scgd ; do \ 8961f28255Scgd cmp -s $$i $D/$$i || \ 9061f28255Scgd ( echo cp $$i $D ; cp $$i $D ) ; done 9161f28255Scgd# the distribution directory also contains the empty files perm and record. 9261f28255Scgd 9361f28255Scgd 9461f28255Scgdinstall: 9561f28255Scgd rm -f $(GAMEDIR)/$(GAME) 9661f28255Scgd cp $(GAME) $(GAMEDIR)/$(GAME) 9761f28255Scgd chmod 04511 $(GAMEDIR)/$(GAME) 9861f28255Scgd rm -f $(GAMEDIR)/bones* 9961f28255Scgd# cp hack.6 /usr/man/man6 10061f28255Scgd 10161f28255Scgdclean: 10261f28255Scgd rm -f *.o 10361f28255Scgd 10461f28255Scgd 10561f28255Scgddepend: 10661f28255Scgd# For the moment we are lazy and disregard /usr/include files because 10761f28255Scgd# the sources contain them conditionally. Perhaps we should use cpp. 10861f28255Scgd# ( /bin/grep '^#[ ]*include' $$i | sed -n \ 10961f28255Scgd# -e 's,<\(.*\)>,"/usr/include/\1",' \ 11061f28255Scgd# 11161f28255Scgd for i in ${CSOURCES}; do \ 11261f28255Scgd ( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \ 11361f28255Scgd -e 's/[^"]*"\([^"]*\)".*/\1/' \ 11461f28255Scgd -e H -e '$$g' -e '$$s/\n/ /g' \ 11561f28255Scgd -e '$$s/.*/'$$i': &/' -e '$$s/\.c:/.o:/p' \ 11661f28255Scgd >> makedep); done 11761f28255Scgd for i in ${HSOURCES}; do \ 11861f28255Scgd ( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \ 11961f28255Scgd -e 's/[^"]*"\([^"]*\)".*/\1/' \ 12061f28255Scgd -e H -e '$$g' -e '$$s/\n/ /g' \ 12161f28255Scgd -e '$$s/.*/'$$i': &\ 12261f28255Scgd touch '$$i/p \ 12361f28255Scgd >> makedep); done 12461f28255Scgd @echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep 12561f28255Scgd @echo '$$r makedep' >>eddep 12661f28255Scgd @echo 'w' >>eddep 12761f28255Scgd @cp Makefile Makefile.bak 12861f28255Scgd ed - Makefile < eddep 12961f28255Scgd @rm -f eddep makedep 13061f28255Scgd @echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile 13161f28255Scgd @echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile 13261f28255Scgd @echo '# see make depend above' >> Makefile 13361f28255Scgd - diff Makefile Makefile.bak 13461f28255Scgd @rm -f Makefile.bak 13561f28255Scgd 13661f28255Scgd# DO NOT DELETE THIS LINE 13761f28255Scgd 13861f28255Scgdhack.Decl.o: hack.h def.mkroom.h 13961f28255Scgdhack.apply.o: hack.h def.edog.h def.mkroom.h 14061f28255Scgdhack.bones.o: hack.h 14161f28255Scgdhack.o: hack.h 14261f28255Scgdhack.cmd.o: hack.h def.func_tab.h 14361f28255Scgdhack.do.o: hack.h 14461f28255Scgdhack.do_name.o: hack.h 14561f28255Scgdhack.do_wear.o: hack.h 14661f28255Scgdhack.dog.o: hack.h hack.mfndpos.h def.edog.h def.mkroom.h 14761f28255Scgdhack.eat.o: hack.h 14861f28255Scgdhack.end.o: hack.h 14961f28255Scgdhack.engrave.o: hack.h 15061f28255Scgdhack.fight.o: hack.h 15161f28255Scgdhack.invent.o: hack.h def.wseg.h 15261f28255Scgdhack.ioctl.o: config.h 15361f28255Scgdhack.lev.o: hack.h def.mkroom.h def.wseg.h 15461f28255Scgdhack.main.o: hack.h 15561f28255Scgdhack.makemon.o: hack.h 15661f28255Scgdhack.mhitu.o: hack.h 15761f28255Scgdhack.mklev.o: hack.h def.mkroom.h 15861f28255Scgdhack.mkmaze.o: hack.h def.mkroom.h 15961f28255Scgdhack.mkobj.o: hack.h 16061f28255Scgdhack.mkshop.o: hack.h def.mkroom.h def.eshk.h 16161f28255Scgdhack.mon.o: hack.h hack.mfndpos.h 16261f28255Scgdhack.monst.o: hack.h def.eshk.h 16361f28255Scgdhack.o_init.o: config.h def.objects.h hack.onames.h 16461f28255Scgdhack.objnam.o: hack.h 16561f28255Scgdhack.options.o: config.h hack.h 16661f28255Scgdhack.pager.o: hack.h 16761f28255Scgdhack.potion.o: hack.h 16861f28255Scgdhack.pri.o: hack.h def.wseg.h 16961f28255Scgdhack.read.o: hack.h 17061f28255Scgdhack.rip.o: hack.h 17161f28255Scgdhack.rumors.o: hack.h 17261f28255Scgdhack.save.o: hack.h 17361f28255Scgdhack.search.o: hack.h 17461f28255Scgdhack.shk.o: hack.h hack.mfndpos.h def.mkroom.h def.eshk.h 17561f28255Scgdhack.shknam.o: hack.h 17661f28255Scgdhack.steal.o: hack.h 17761f28255Scgdhack.termcap.o: config.h def.flag.h 17861f28255Scgdhack.timeout.o: hack.h 17961f28255Scgdhack.topl.o: hack.h 18061f28255Scgdhack.track.o: hack.h 18161f28255Scgdhack.trap.o: hack.h def.mkroom.h 18261f28255Scgdhack.tty.o: hack.h 18361f28255Scgdhack.unix.o: hack.h def.mkroom.h 18461f28255Scgdhack.u_init.o: hack.h 18561f28255Scgdhack.vault.o: hack.h def.mkroom.h 18661f28255Scgdhack.wield.o: hack.h 18761f28255Scgdhack.wizard.o: hack.h 18861f28255Scgdhack.worm.o: hack.h def.wseg.h 18961f28255Scgdhack.worn.o: hack.h 19061f28255Scgdhack.zap.o: hack.h 19161f28255Scgdhack.version.o: date.h 19261f28255Scgdhack.h: config.h def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h def.permonst.h hack.onames.h 19361f28255Scgd touch hack.h 19461f28255Scgddef.objects.h: config.h def.objclass.h 19561f28255Scgd touch def.objects.h 19661f28255Scgd# DEPENDENCIES MUST END AT END OF FILE 19761f28255Scgd# IF YOU PUT STUFF HERE IT WILL GO AWAY 19861f28255Scgd# see make depend above 199