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