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