1*8733d36fSakfaew# $OpenBSD: Makequest,v 1.4 2017/06/20 20:40:54 akfaew Exp $ 2df930be7Sderaadt# $NetBSD: Makequest,v 1.2 1995/03/23 08:29:08 cgd Exp $ 3df930be7Sderaadt# 4df930be7Sderaadt# Hack or Quest Makefile. 5df930be7Sderaadt 6132ab06fSmillert# on some systems the termcap library is in -ltermcap or -lcurses 7132ab06fSmillertTERMLIB = -lcurses 8df930be7Sderaadt 9df930be7Sderaadt 10df930be7Sderaadt# make hack 11df930be7SderaadtGAME = quest 12*8733d36fSakfaewGAMEDIR = /var/games/questdir 13df930be7SderaadtCFLAGS = -g -DQUEST 14df930be7SderaadtHACKCSRC = hack.Decl.c\ 15df930be7Sderaadt hack.apply.c hack.bones.c hack.c hack.cmd.c hack.do.c\ 16df930be7Sderaadt hack.do_name.c hack.do_wear.c hack.dog.c hack.eat.c hack.end.c\ 17df930be7Sderaadt hack.engrave.c hack.fight.c hack.invent.c hack.ioctl.c\ 18df930be7Sderaadt hack.lev.c hack.main.c hack.makemon.c hack.mhitu.c\ 19df930be7Sderaadt hack.mklev.c hack.mkmaze.c hack.mkobj.c hack.mkshop.c\ 20df930be7Sderaadt hack.mon.c hack.monst.c hack.o_init.c hack.objnam.c\ 21df930be7Sderaadt hack.options.c hack.pager.c hack.potion.c hack.pri.c\ 22df930be7Sderaadt hack.read.c hack.rip.c hack.rumors.c hack.save.c\ 23df930be7Sderaadt hack.search.c hack.shk.c hack.shknam.c hack.steal.c\ 24df930be7Sderaadt hack.termcap.c hack.timeout.c hack.topl.c\ 25df930be7Sderaadt hack.track.c hack.trap.c hack.tty.c hack.unix.c\ 26df930be7Sderaadt hack.u_init.c hack.vault.c\ 27df930be7Sderaadt hack.wield.c hack.wizard.c hack.worm.c hack.worn.c hack.zap.c\ 28df930be7Sderaadt hack.version.c rnd.c alloc.c 29df930be7Sderaadt 30df930be7SderaadtCSOURCES = $(HACKCSRC) makedefs.c 31df930be7Sderaadt 32df930be7SderaadtHSOURCES = hack.h hack.mfndpos.h config.h\ 33df930be7Sderaadt def.edog.h def.eshk.h def.flag.h def.func_tab.h def.gold.h\ 34df930be7Sderaadt def.mkroom.h\ 35df930be7Sderaadt def.monst.h def.obj.h def.objclass.h def.objects.h\ 36df930be7Sderaadt def.permonst.h def.rm.h def.trap.h def.wseg.h 37df930be7Sderaadt 38df930be7SderaadtSOURCES = $(CSOURCES) $(HSOURCES) 39df930be7Sderaadt 40*8733d36fSakfaewAUX = data help hh rumors hack.6 41df930be7Sderaadt 42df930be7SderaadtDISTR = $(SOURCES) $(AUX) READ_ME Makefile date.h hack.onames.h 43df930be7Sderaadt 44df930be7SderaadtHOBJ = hack.Decl.o hack.apply.o hack.bones.o hack.o hack.cmd.o hack.do.o\ 45df930be7Sderaadt hack.do_name.o hack.do_wear.o hack.dog.o hack.eat.o hack.end.o\ 46df930be7Sderaadt hack.engrave.o hack.fight.o hack.invent.o hack.ioctl.o\ 47df930be7Sderaadt hack.lev.o hack.main.o hack.makemon.o hack.mhitu.o hack.mklev.o\ 48df930be7Sderaadt hack.mkmaze.o hack.mkobj.o hack.mkshop.o hack.mon.o\ 49df930be7Sderaadt hack.monst.o hack.o_init.o hack.objnam.o hack.options.o\ 50df930be7Sderaadt hack.pager.o hack.potion.o hack.pri.o\ 51df930be7Sderaadt hack.read.o hack.rip.o hack.rumors.o hack.save.o\ 52df930be7Sderaadt hack.search.o hack.shk.o hack.shknam.o hack.steal.o\ 53df930be7Sderaadt hack.termcap.o hack.timeout.o hack.topl.o\ 54df930be7Sderaadt hack.track.o hack.trap.o\ 55df930be7Sderaadt hack.tty.o hack.unix.o hack.u_init.o hack.vault.o hack.wield.o\ 56df930be7Sderaadt hack.wizard.o hack.worm.o hack.worn.o hack.zap.o\ 57df930be7Sderaadt hack.version.o rnd.o alloc.o 58df930be7Sderaadt 59df930be7Sderaadt$(GAME): $(HOBJ) Makefile 60df930be7Sderaadt @echo "Loading ..." 61df930be7Sderaadt @ld -X -o $(GAME) /lib/crt0.o $(HOBJ) $(TERMLIB) -lc 62df930be7Sderaadt 63df930be7Sderaadtall: $(GAME) lint 64df930be7Sderaadt @echo "Done." 65df930be7Sderaadt 66df930be7Sderaadtmakedefs: makedefs.c 67df930be7Sderaadt cc -o makedefs makedefs.c 68df930be7Sderaadt 69df930be7Sderaadt 70df930be7Sderaadthack.onames.h: makedefs def.objects.h 71df930be7Sderaadt makedefs > hack.onames.h 72df930be7Sderaadt 73df930be7Sderaadtlint: 74df930be7Sderaadt# lint cannot have -p here because (i) capitals are meaningful: 75df930be7Sderaadt# [Ww]izard, (ii) identifiers may coincide in the first six places: 76df930be7Sderaadt# doweararm() versus dowearring(). 77df930be7Sderaadt# _flsbuf comes from <stdio.h>, a bug in the system libraries. 78df930be7Sderaadt @echo lint -axbh -DLINT ... 79df930be7Sderaadt @lint -axbh -DLINT $(HACKCSRC) | sed '/_flsbuf/d' 80df930be7Sderaadt 81df930be7Sderaadt 82df930be7Sderaadtdiff: 83df930be7Sderaadt @- for i in $(SOURCES) $(AUX) ; do \ 84df930be7Sderaadt cmp -s $$i $D/$$i || \ 85df930be7Sderaadt ( echo diff $D/$$i $$i ; diff $D/$$i $$i ; echo ) ; done 86df930be7Sderaadt 87df930be7Sderaadtdistribution: Makefile 88df930be7Sderaadt @- for i in READ_ME $(SOURCES) $(AUX) Makefile date.h hack.onames.h\ 89df930be7Sderaadt ; do \ 90df930be7Sderaadt cmp -s $$i $D/$$i || \ 91df930be7Sderaadt ( echo cp $$i $D ; cp $$i $D ) ; done 92df930be7Sderaadt# the distribution directory also contains the empty files perm and record. 93df930be7Sderaadt 94df930be7Sderaadt 95df930be7Sderaadtinstall: 96df930be7Sderaadt rm -f $(GAMEDIR)/$(GAME) 97df930be7Sderaadt cp $(GAME) $(GAMEDIR)/$(GAME) 98df930be7Sderaadt chmod 04511 $(GAMEDIR)/$(GAME) 99df930be7Sderaadt rm -f $(GAMEDIR)/bones* 100df930be7Sderaadt# cp hack.6 /usr/man/man6 101df930be7Sderaadt 102df930be7Sderaadtclean: 103df930be7Sderaadt rm -f *.o 104df930be7Sderaadt 105df930be7Sderaadt 106df930be7Sderaadtdepend: 107df930be7Sderaadt# For the moment we are lazy and disregard /usr/include files because 108df930be7Sderaadt# the sources contain them conditionally. Perhaps we should use cpp. 109df930be7Sderaadt# ( /bin/grep '^#[ ]*include' $$i | sed -n \ 110df930be7Sderaadt# -e 's,<\(.*\)>,"/usr/include/\1",' \ 111df930be7Sderaadt# 112df930be7Sderaadt for i in ${CSOURCES}; do \ 113df930be7Sderaadt ( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \ 114df930be7Sderaadt -e 's/[^"]*"\([^"]*\)".*/\1/' \ 115df930be7Sderaadt -e H -e '$$g' -e '$$s/\n/ /g' \ 116df930be7Sderaadt -e '$$s/.*/'$$i': &/' -e '$$s/\.c:/.o:/p' \ 117df930be7Sderaadt >> makedep); done 118df930be7Sderaadt for i in ${HSOURCES}; do \ 119df930be7Sderaadt ( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \ 120df930be7Sderaadt -e 's/[^"]*"\([^"]*\)".*/\1/' \ 121df930be7Sderaadt -e H -e '$$g' -e '$$s/\n/ /g' \ 122df930be7Sderaadt -e '$$s/.*/'$$i': &\ 123df930be7Sderaadt touch '$$i/p \ 124df930be7Sderaadt >> makedep); done 125df930be7Sderaadt @echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep 126df930be7Sderaadt @echo '$$r makedep' >>eddep 127df930be7Sderaadt @echo 'w' >>eddep 128df930be7Sderaadt @cp Makefile Makefile.bak 129df930be7Sderaadt ed - Makefile < eddep 130df930be7Sderaadt @rm -f eddep makedep 131df930be7Sderaadt @echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile 132df930be7Sderaadt @echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile 133df930be7Sderaadt @echo '# see make depend above' >> Makefile 134df930be7Sderaadt - diff Makefile Makefile.bak 135df930be7Sderaadt @rm -f Makefile.bak 136df930be7Sderaadt 137df930be7Sderaadt# DO NOT DELETE THIS LINE 138df930be7Sderaadt 139df930be7Sderaadthack.Decl.o: hack.h def.mkroom.h 140df930be7Sderaadthack.apply.o: hack.h def.edog.h def.mkroom.h 141df930be7Sderaadthack.bones.o: hack.h 142df930be7Sderaadthack.o: hack.h 143df930be7Sderaadthack.cmd.o: hack.h def.func_tab.h 144df930be7Sderaadthack.do.o: hack.h 145df930be7Sderaadthack.do_name.o: hack.h 146df930be7Sderaadthack.do_wear.o: hack.h 147df930be7Sderaadthack.dog.o: hack.h hack.mfndpos.h def.edog.h def.mkroom.h 148df930be7Sderaadthack.eat.o: hack.h 149df930be7Sderaadthack.end.o: hack.h 150df930be7Sderaadthack.engrave.o: hack.h 151df930be7Sderaadthack.fight.o: hack.h 152df930be7Sderaadthack.invent.o: hack.h def.wseg.h 153df930be7Sderaadthack.ioctl.o: config.h 154df930be7Sderaadthack.lev.o: hack.h def.mkroom.h def.wseg.h 155df930be7Sderaadthack.main.o: hack.h 156df930be7Sderaadthack.makemon.o: hack.h 157df930be7Sderaadthack.mhitu.o: hack.h 158df930be7Sderaadthack.mklev.o: hack.h def.mkroom.h 159df930be7Sderaadthack.mkmaze.o: hack.h def.mkroom.h 160df930be7Sderaadthack.mkobj.o: hack.h 161df930be7Sderaadthack.mkshop.o: hack.h def.mkroom.h def.eshk.h 162df930be7Sderaadthack.mon.o: hack.h hack.mfndpos.h 163df930be7Sderaadthack.monst.o: hack.h def.eshk.h 164df930be7Sderaadthack.o_init.o: config.h def.objects.h hack.onames.h 165df930be7Sderaadthack.objnam.o: hack.h 166df930be7Sderaadthack.options.o: config.h hack.h 167df930be7Sderaadthack.pager.o: hack.h 168df930be7Sderaadthack.potion.o: hack.h 169df930be7Sderaadthack.pri.o: hack.h def.wseg.h 170df930be7Sderaadthack.read.o: hack.h 171df930be7Sderaadthack.rip.o: hack.h 172df930be7Sderaadthack.rumors.o: hack.h 173df930be7Sderaadthack.save.o: hack.h 174df930be7Sderaadthack.search.o: hack.h 175df930be7Sderaadthack.shk.o: hack.h hack.mfndpos.h def.mkroom.h def.eshk.h 176df930be7Sderaadthack.shknam.o: hack.h 177df930be7Sderaadthack.steal.o: hack.h 178df930be7Sderaadthack.termcap.o: config.h def.flag.h 179df930be7Sderaadthack.timeout.o: hack.h 180df930be7Sderaadthack.topl.o: hack.h 181df930be7Sderaadthack.track.o: hack.h 182df930be7Sderaadthack.trap.o: hack.h def.mkroom.h 183df930be7Sderaadthack.tty.o: hack.h 184df930be7Sderaadthack.unix.o: hack.h def.mkroom.h 185df930be7Sderaadthack.u_init.o: hack.h 186df930be7Sderaadthack.vault.o: hack.h def.mkroom.h 187df930be7Sderaadthack.wield.o: hack.h 188df930be7Sderaadthack.wizard.o: hack.h 189df930be7Sderaadthack.worm.o: hack.h def.wseg.h 190df930be7Sderaadthack.worn.o: hack.h 191df930be7Sderaadthack.zap.o: hack.h 192df930be7Sderaadthack.version.o: date.h 193df930be7Sderaadthack.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 194df930be7Sderaadt touch hack.h 195df930be7Sderaadtdef.objects.h: config.h def.objclass.h 196df930be7Sderaadt touch def.objects.h 197df930be7Sderaadt# DEPENDENCIES MUST END AT END OF FILE 198df930be7Sderaadt# IF YOU PUT STUFF HERE IT WILL GO AWAY 199df930be7Sderaadt# see make depend above 200