1# Hack or Quest Makefile. 2 3# on some systems the termcap library is in -ltermcap 4TERMLIB = -ltermlib 5 6 7# make hack 8GAME = hack 9GAMEDIR = /usr/games/lib/hackdir 10CFLAGS = -O 11HACKCSRC = hack.Decl.c\ 12 hack.apply.c hack.bones.c hack.c hack.cmd.c hack.do.c\ 13 hack.do_name.c hack.do_wear.c hack.dog.c hack.eat.c hack.end.c\ 14 hack.engrave.c hack.fight.c hack.invent.c hack.ioctl.c\ 15 hack.lev.c hack.main.c hack.makemon.c hack.mhitu.c\ 16 hack.mklev.c hack.mkmaze.c hack.mkobj.c hack.mkshop.c\ 17 hack.mon.c hack.monst.c hack.o_init.c hack.objnam.c\ 18 hack.options.c hack.pager.c hack.potion.c hack.pri.c\ 19 hack.read.c hack.rip.c hack.rumors.c hack.save.c\ 20 hack.search.c hack.shk.c hack.shknam.c hack.steal.c\ 21 hack.termcap.c hack.timeout.c hack.topl.c\ 22 hack.track.c hack.trap.c hack.tty.c hack.unix.c\ 23 hack.u_init.c hack.vault.c\ 24 hack.wield.c hack.wizard.c hack.worm.c hack.worn.c hack.zap.c\ 25 hack.version.c rnd.c alloc.c 26 27CSOURCES = $(HACKCSRC) makedefs.c 28 29HSOURCES = hack.h hack.mfndpos.h config.h\ 30 def.edog.h def.eshk.h def.flag.h def.func_tab.h def.gold.h\ 31 def.mkroom.h\ 32 def.monst.h def.obj.h def.objclass.h def.objects.h\ 33 def.permonst.h def.rm.h def.trap.h def.wseg.h 34 35SOURCES = $(CSOURCES) $(HSOURCES) 36 37AUX = data help hh rumors hack.6 hack.sh 38 39DISTR = $(SOURCES) $(AUX) READ_ME Makefile date.h hack.onames.h 40 41HOBJ = hack.Decl.o hack.apply.o hack.bones.o hack.o hack.cmd.o hack.do.o\ 42 hack.do_name.o hack.do_wear.o hack.dog.o hack.eat.o hack.end.o\ 43 hack.engrave.o hack.fight.o hack.invent.o hack.ioctl.o\ 44 hack.lev.o hack.main.o hack.makemon.o hack.mhitu.o hack.mklev.o\ 45 hack.mkmaze.o hack.mkobj.o hack.mkshop.o hack.mon.o\ 46 hack.monst.o hack.o_init.o hack.objnam.o hack.options.o\ 47 hack.pager.o hack.potion.o hack.pri.o\ 48 hack.read.o hack.rip.o hack.rumors.o hack.save.o\ 49 hack.search.o hack.shk.o hack.shknam.o hack.steal.o\ 50 hack.termcap.o hack.timeout.o hack.topl.o\ 51 hack.track.o hack.trap.o\ 52 hack.tty.o hack.unix.o hack.u_init.o hack.vault.o hack.wield.o\ 53 hack.wizard.o hack.worm.o hack.worn.o hack.zap.o\ 54 hack.version.o rnd.o alloc.o 55 56all: hack 57hack: ${HOBJ} ${LIBC} 58 @echo "Loading ..." 59 @cc -X -o $@ $(HOBJ) $(TERMLIB) 60 61makedefs: makedefs.c 62 ${CC} ${CFLAGS} -o $@ makedefs.c 63 64hack.onames.h: makedefs def.objects.h 65 makedefs > hack.onames.h 66 67lint: 68# lint cannot have -p here because (i) capitals are meaningful: 69# [Ww]izard, (ii) identifiers may coincide in the first six places: 70# doweararm() versus dowearring(). 71# _flsbuf comes from <stdio.h>, a bug in the system libraries. 72 @echo lint -axbh -DLINT ... 73 @lint -axbh -DLINT $(HACKCSRC) | sed '/_flsbuf/d' 74 75 76diff: 77 @- for i in $(SOURCES) $(AUX) ; do \ 78 cmp -s $$i $D/$$i || \ 79 ( echo diff $D/$$i $$i ; diff $D/$$i $$i ; echo ) ; done 80 81distribution: Makefile 82 @- for i in READ_ME $(SOURCES) $(AUX) Makefile date.h hack.onames.h\ 83 ; do \ 84 cmp -s $$i $D/$$i || \ 85 ( echo cp $$i $D ; cp $$i $D ) ; done 86# the distribution directory also contains the empty files perm and record. 87 88install: 89 install -s -o games -g bin -m 4700 hack ${DESTDIR}/usr/games/hide 90 (cd ${DESTDIR}/usr/games; rm -f hack; ln -s dm hack; chown games.bin hack) 91 -[ -d ${DESTDIR}/usr/games/lib/hackdir ] || mkdir ${DESTDIR}/usr/games/lib/hackdir 92 chmod 700 ${DESTDIR}/usr/games/lib/hackdir 93 chown games.bin ${DESTDIR}/usr/games/lib/hackdir 94 install -c -o games -g bin -m 666 /dev/null ${DESTDIR}/usr/games/lib/hackdir/perm 95 install -c -o games -g bin -m 666 /dev/null ${DESTDIR}/usr/games/lib/hackdir/record 96 install -c -o games -g bin -m 666 hh ${DESTDIR}/usr/games/lib/hackdir/hh 97 rm -f ${DESTDIR}/usr/games/lib/hackdir/bones* 98 99clean: 100 rm -f *.o hack makedefs 101 102depend: 103 mkdep ${CFLAGS} ${CSOURCES} 104 105tags: 106 ctags ${CSOURCES} 107 108# DO NOT DELETE THIS LINE -- mkdep uses it. 109# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. 110 111hack.Decl.o: hack.Decl.c hack.h config.h /usr/include/strings.h def.objclass.h 112hack.Decl.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 113hack.Decl.o: def.permonst.h hack.onames.h def.mkroom.h 114hack.apply.o: hack.apply.c hack.h config.h /usr/include/strings.h 115hack.apply.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 116hack.apply.o: def.flag.h def.rm.h def.permonst.h hack.onames.h def.edog.h 117hack.apply.o: def.mkroom.h 118hack.bones.o: hack.bones.c hack.h config.h /usr/include/strings.h 119hack.bones.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 120hack.bones.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 121hack.o: hack.c hack.h config.h /usr/include/strings.h def.objclass.h 122hack.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 123hack.o: def.permonst.h hack.onames.h /usr/include/stdio.h 124hack.cmd.o: hack.cmd.c hack.h config.h /usr/include/strings.h def.objclass.h 125hack.cmd.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 126hack.cmd.o: def.permonst.h hack.onames.h def.func_tab.h 127hack.do.o: hack.do.c hack.h config.h /usr/include/strings.h def.objclass.h 128hack.do.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 129hack.do.o: def.permonst.h hack.onames.h 130hack.do_name.o: hack.do_name.c hack.h config.h /usr/include/strings.h 131hack.do_name.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 132hack.do_name.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 133hack.do_name.o: /usr/include/stdio.h 134hack.do_wear.o: hack.do_wear.c hack.h config.h /usr/include/strings.h 135hack.do_wear.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 136hack.do_wear.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 137hack.do_wear.o: /usr/include/stdio.h 138hack.dog.o: hack.dog.c hack.h config.h /usr/include/strings.h def.objclass.h 139hack.dog.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 140hack.dog.o: def.permonst.h hack.onames.h hack.mfndpos.h def.edog.h def.mkroom.h 141hack.eat.o: hack.eat.c hack.h config.h /usr/include/strings.h def.objclass.h 142hack.eat.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 143hack.eat.o: def.permonst.h hack.onames.h 144hack.end.o: hack.end.c hack.h config.h /usr/include/strings.h def.objclass.h 145hack.end.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 146hack.end.o: def.permonst.h hack.onames.h /usr/include/stdio.h 147hack.end.o: /usr/include/signal.h 148hack.engrave.o: hack.engrave.c hack.h config.h /usr/include/strings.h 149hack.engrave.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 150hack.engrave.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 151hack.fight.o: hack.fight.c hack.h config.h /usr/include/strings.h 152hack.fight.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 153hack.fight.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 154hack.invent.o: hack.invent.c hack.h config.h /usr/include/strings.h 155hack.invent.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 156hack.invent.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 157hack.invent.o: /usr/include/stdio.h def.wseg.h 158hack.ioctl.o: hack.ioctl.c /usr/include/stdio.h config.h /usr/include/sgtty.h 159hack.ioctl.o: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h 160hack.ioctl.o: /usr/include/sys/ttydev.h /usr/include/signal.h 161hack.lev.o: hack.lev.c hack.h config.h /usr/include/strings.h def.objclass.h 162hack.lev.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 163hack.lev.o: def.permonst.h hack.onames.h def.mkroom.h /usr/include/stdio.h 164hack.lev.o: def.wseg.h 165hack.main.o: hack.main.c /usr/include/stdio.h /usr/include/signal.h hack.h 166hack.main.o: config.h /usr/include/strings.h def.objclass.h def.monst.h 167hack.main.o: def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h def.permonst.h 168hack.main.o: hack.onames.h 169hack.makemon.o: hack.makemon.c hack.h config.h /usr/include/strings.h 170hack.makemon.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 171hack.makemon.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 172hack.mhitu.o: hack.mhitu.c hack.h config.h /usr/include/strings.h 173hack.mhitu.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 174hack.mhitu.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 175hack.mklev.o: hack.mklev.c hack.h config.h /usr/include/strings.h 176hack.mklev.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 177hack.mklev.o: def.flag.h def.rm.h def.permonst.h hack.onames.h def.mkroom.h 178hack.mkmaze.o: hack.mkmaze.c hack.h config.h /usr/include/strings.h 179hack.mkmaze.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 180hack.mkmaze.o: def.flag.h def.rm.h def.permonst.h hack.onames.h def.mkroom.h 181hack.mkobj.o: hack.mkobj.c hack.h config.h /usr/include/strings.h 182hack.mkobj.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 183hack.mkobj.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 184hack.mkshop.o: hack.mkshop.c hack.h config.h /usr/include/strings.h 185hack.mkshop.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 186hack.mkshop.o: def.flag.h def.rm.h def.permonst.h hack.onames.h def.mkroom.h 187hack.mkshop.o: def.eshk.h 188hack.mon.o: hack.mon.c hack.h config.h /usr/include/strings.h def.objclass.h 189hack.mon.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 190hack.mon.o: def.permonst.h hack.onames.h hack.mfndpos.h 191hack.monst.o: hack.monst.c hack.h config.h /usr/include/strings.h 192hack.monst.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 193hack.monst.o: def.flag.h def.rm.h def.permonst.h hack.onames.h def.eshk.h 194hack.o_init.o: hack.o_init.c config.h def.objects.h config.h def.objclass.h 195hack.o_init.o: hack.onames.h 196hack.objnam.o: hack.objnam.c hack.h config.h /usr/include/strings.h 197hack.objnam.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 198hack.objnam.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 199hack.options.o: hack.options.c config.h hack.h config.h /usr/include/strings.h 200hack.options.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 201hack.options.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 202hack.pager.o: hack.pager.c /usr/include/stdio.h /usr/include/signal.h hack.h 203hack.pager.o: config.h /usr/include/strings.h def.objclass.h def.monst.h 204hack.pager.o: def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 205hack.pager.o: def.permonst.h hack.onames.h /usr/include/sys/wait.h 206hack.pager.o: /usr/include/machine/machparam.h 207hack.potion.o: hack.potion.c hack.h config.h /usr/include/strings.h 208hack.potion.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 209hack.potion.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 210hack.pri.o: hack.pri.c hack.h config.h /usr/include/strings.h def.objclass.h 211hack.pri.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 212hack.pri.o: def.permonst.h hack.onames.h /usr/include/stdio.h def.wseg.h 213hack.read.o: hack.read.c hack.h config.h /usr/include/strings.h def.objclass.h 214hack.read.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 215hack.read.o: def.permonst.h hack.onames.h 216hack.rip.o: hack.rip.c /usr/include/stdio.h hack.h config.h 217hack.rip.o: /usr/include/strings.h def.objclass.h def.monst.h def.gold.h 218hack.rip.o: def.trap.h def.obj.h def.flag.h def.rm.h def.permonst.h 219hack.rip.o: hack.onames.h 220hack.rumors.o: hack.rumors.c /usr/include/stdio.h hack.h config.h 221hack.rumors.o: /usr/include/strings.h def.objclass.h def.monst.h def.gold.h 222hack.rumors.o: def.trap.h def.obj.h def.flag.h def.rm.h def.permonst.h 223hack.rumors.o: hack.onames.h 224hack.save.o: hack.save.c hack.h config.h /usr/include/strings.h def.objclass.h 225hack.save.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 226hack.save.o: def.permonst.h hack.onames.h /usr/include/signal.h 227hack.search.o: hack.search.c hack.h config.h /usr/include/strings.h 228hack.search.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 229hack.search.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 230hack.shk.o: hack.shk.c hack.h config.h /usr/include/strings.h def.objclass.h 231hack.shk.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 232hack.shk.o: def.permonst.h hack.onames.h hack.mfndpos.h def.mkroom.h def.eshk.h 233hack.shknam.o: hack.shknam.c hack.h config.h /usr/include/strings.h 234hack.shknam.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 235hack.shknam.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 236hack.steal.o: hack.steal.c hack.h config.h /usr/include/strings.h 237hack.steal.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 238hack.steal.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 239hack.termcap.o: hack.termcap.c /usr/include/stdio.h config.h def.flag.h 240hack.timeout.o: hack.timeout.c hack.h config.h /usr/include/strings.h 241hack.timeout.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 242hack.timeout.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 243hack.topl.o: hack.topl.c hack.h config.h /usr/include/strings.h def.objclass.h 244hack.topl.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 245hack.topl.o: def.permonst.h hack.onames.h /usr/include/stdio.h 246hack.track.o: hack.track.c hack.h config.h /usr/include/strings.h 247hack.track.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 248hack.track.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 249hack.trap.o: hack.trap.c hack.h config.h /usr/include/strings.h def.objclass.h 250hack.trap.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 251hack.trap.o: def.permonst.h hack.onames.h def.mkroom.h 252hack.tty.o: hack.tty.c hack.h config.h /usr/include/strings.h def.objclass.h 253hack.tty.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 254hack.tty.o: def.permonst.h hack.onames.h /usr/include/stdio.h 255hack.tty.o: /usr/include/sgtty.h /usr/include/sys/ioctl.h 256hack.tty.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h 257hack.unix.o: hack.unix.c /usr/include/stdio.h /usr/include/errno.h hack.h 258hack.unix.o: config.h /usr/include/strings.h def.objclass.h def.monst.h 259hack.unix.o: def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h def.permonst.h 260hack.unix.o: hack.onames.h /usr/include/sys/types.h /usr/include/sys/stat.h 261hack.unix.o: /usr/include/sys/time.h /usr/include/time.h 262hack.u_init.o: hack.u_init.c hack.h config.h /usr/include/strings.h 263hack.u_init.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 264hack.u_init.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 265hack.u_init.o: /usr/include/stdio.h /usr/include/signal.h 266hack.vault.o: hack.vault.c hack.h config.h /usr/include/strings.h 267hack.vault.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 268hack.vault.o: def.flag.h def.rm.h def.permonst.h hack.onames.h def.mkroom.h 269hack.wield.o: hack.wield.c hack.h config.h /usr/include/strings.h 270hack.wield.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 271hack.wield.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 272hack.wizard.o: hack.wizard.c hack.h config.h /usr/include/strings.h 273hack.wizard.o: def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h 274hack.wizard.o: def.flag.h def.rm.h def.permonst.h hack.onames.h 275hack.worm.o: hack.worm.c hack.h config.h /usr/include/strings.h def.objclass.h 276hack.worm.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 277hack.worm.o: def.permonst.h hack.onames.h def.wseg.h 278hack.worn.o: hack.worn.c hack.h config.h /usr/include/strings.h def.objclass.h 279hack.worn.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 280hack.worn.o: def.permonst.h hack.onames.h 281hack.zap.o: hack.zap.c hack.h config.h /usr/include/strings.h def.objclass.h 282hack.zap.o: def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h 283hack.zap.o: def.permonst.h hack.onames.h 284hack.version.o: hack.version.c date.h 285rnd.o: rnd.c 286alloc.o: alloc.c 287makedefs.o: makedefs.c 288 289# IF YOU PUT ANYTHING HERE IT WILL GO AWAY 290