home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
games
/
volume3
/
nethack2.2
/
part09
/
Makefile.att
< prev
next >
Wrap
Makefile
|
1987-12-02
|
7KB
|
263 lines
# Hack or Quest Makefile.
# SCCS Id: @(#)Makefile.att 2.2 87/11/11
include $(MAKEINC)/Makepre.h
# if you are cross-compiling (eg. from Xenix into a Dos enviornment)
# you will have to redefine these filenames.
MAIN = unixmain.c
TTY = unixtty.c
UNIX = unixunix.c
# on some systems the termcap library is in -ltermcap
#TERMLIB = -ltermlib
TERMLIB =
# make NetHack
GAME = nethack
GAMEUID = games
GAMEGRP = bin
# GAMEDIR also appears in config.h as "HACKDIR".
GAMEDIR = /usr/games/lib/$(GAME)dir
SHELLDIR = /usr/games
MANDIR = /usr/man/man6
CFLAGS = -O
LFLAGS =
HACKCSRC = alloc.c apply.c bones.c cmd.c decl.c do.c do_name.c do_wear.c\
dog.c dogmove.c dothrow.c eat.c end.c engrave.c fight.c fountain.c\
hack.c invent.c ioctl.c lev.c main.c makemon.c mhitu.c\
mklev.c mkmaze.c mkobj.c mkshop.c mon.c monmove.c monst.c o_init.c\
objnam.c options.c pager.c polyself.c potion.c pray.c pri.c\
prisym.c read.c rip.c rnd.c rumors.c save.c search.c shk.c shknam.c\
sit.c spell.c steal.c termcap.c timeout.c topl.c topten.c track.c\
trap.c tty.c u_init.c unix.c vault.c version.c wield.c wizard.c\
worm.c worn.c write.c zap.c
CSOURCES = $(HACKCSRC) makedefs.c
HSOURCES = hack.h mfndpos.h config.h edog.h eshk.h extern.h\
flag.h func_tab.h gold.h mkroom.h monst.h obj.h objclass.h\
objects.h permonst.h rm.h spell.h trap.h wseg.h you.h
SOURCES = $(CSOURCES) $(HSOURCES)
AUX = help hh nethack.6 nethack.sh
VARAUX = data rumors
SPECIFICS = main.o tty.o unix.o
DISTR = $(SOURCES) $(AUX) $(VARAUX) README.OLD README\
Makefile Makefile.pc Make.ini
HOBJ = alloc.o apply.o bones.o cmd.o decl.o do.o do_name.o do_wear.o\
dog.o dogmove.o dothrow.o eat.o end.o engrave.o fight.o fountain.o\
hack.o invent.o ioctl.o lev.o main.o makemon.o mhitu.o\
mklev.o mkmaze.o mkobj.o mkshop.o mon.o monmove.o monst.o o_init.o\
objnam.o options.o pager.o polyself.o potion.o pray.o pri.o\
prisym.o read.o rip.o rnd.o rumors.o save.o search.o shk.o shknam.o\
sit.o spell.o steal.o termcap.o timeout.o topl.o topten.o track.o\
trap.o tty.o u_init.o unix.o vault.o version.o wield.o wizard.o\
worm.o worn.o write.o zap.o
$(GAME): $(SPECIFICS) $(HOBJ) Makefile
@echo "Loading ..."
@ld $(LFLAGS) $(SHAREDLIB) -o $(GAME) $(HOBJ) $(TERMLIB)
all: $(GAME) lint
@echo "Done."
makedefs: makedefs.c alloc.o config.h
cc -o makedefs alloc.o makedefs.c
RUMORFILES= rumors.base rumors.kaa rumors.mrx
rumors: config.h $(RUMORFILES) makedefs
makedefs -r
data: config.h data.base makedefs
makedefs -d
date.h: $(SOURCES) makedefs
makedefs -D
trap.h: config.h makedefs
makedefs -t
onames.h: makedefs objects.h
makedefs -o
main.o:
main.c: unixmain.c hack.h
cp $(MAIN) main.c
tty.o:
tty.c: unixtty.c extern.h
cp $(TTY) tty.c
unix.o:
unix.c: unixunix.c hack.h mkroom.h
cp $(UNIX) unix.c
lint:
# lint cannot have -p here because (i) capitals are meaningful:
# [Ww]izard, (ii) identifiers may coincide in the first six places:
# doweararm() versus dowearring().
# _flsbuf comes from <stdio.h>, a bug in the system libraries.
@echo lint -axbh -DLINT ...
@lint -axbh -DLINT $(HACKCSRC) | sed '/_flsbuf/d'
diff:
@- for i in $(SOURCES) $(AUX) ; do \
cmp -s $$i $D/$$i || \
( echo diff $D/$$i $$i ; diff $D/$$i $$i ; echo ) ; done
distribution: Makefile
@- for i in READ_ME $(SOURCES) $(AUX) Makefile date.h onames.h\
; do \
cmp -s $$i $D/$$i || \
( echo cp $$i $D ; cp $$i $D ) ; done
# the distribution directory also contains the empty files perm and record.
initial:
-rm -rf $(GAMEDIR)
-mkdir $(SHELLDIR)
mkdir $(GAMEDIR) $(GAMEDIR)/save
touch $(GAMEDIR)/perm
touch $(GAMEDIR)/record
chown $(GAMEUID) $(GAMEDIR) $(GAMEDIR)/*
chgrp $(GAMEGRP) $(GAMEDIR) $(GAMEDIR)/*
chmod 666 $(GAMEDIR)/*
chmod 777 $(GAMEDIR) $(GAMEDIR)/save
install: $(VARAUX)
-rm -f $(GAMEDIR)/$(GAME)
-rm -f $(GAMEDIR)/bones*
-rm -f $(GAMEDIR)/save/*
cp help hh rumors data $(GAMEDIR)
cp $(GAME).sh $(SHELLDIR)/$(GAME)
cp $(GAME) $(GAMEDIR)/$(GAME)
chown $(GAMEUID) $(SHELLDIR)/$(GAME) $(GAMEDIR)/*
chgrp $(GAMEGRP) $(SHELLDIR)/$(GAME) $(GAMEDIR)/*
chmod 0755 $(SHELLDIR)/$(GAME)
chmod 04755 $(GAMEDIR)/$(GAME)
-cp nethack.6 $(MANDIR)
clean:
rm -f *.o
spotless: clean
rm -f a.out core $(GAME) makedefs
rm -f Makefile $(VARAUX) main.c tty.c unix.c
depend:
# For the moment we are lazy and disregard /usr/include files because
# the sources contain them conditionally. Perhaps we should use cpp.
# ( /bin/grep '^#[ ]*include' $$i | sed -n \
# -e 's,<\(.*\)>,"/usr/include/\1",' \
#
for i in ${CSOURCES}; do \
( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \
-e 's/[^"]*"\([^"]*\)".*/\1/' \
-e H -e '$$g' -e '$$s/\n/ /g' \
-e '$$s/.*/'$$i': &/' -e '$$s/\.c:/.o:/p' \
>> makedep); done
for i in ${HSOURCES}; do \
( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \
-e 's/[^"]*"\([^"]*\)".*/\1/' \
-e H -e '$$g' -e '$$s/\n/ /g' \
-e '$$s/.*/'$$i': &\
touch '$$i/p \
>> makedep); done
@echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
@echo '$$r makedep' >>eddep
@echo 'w' >>eddep
@cp Makefile Makefile.bak
ed - Makefile < eddep
@rm -f eddep makedep
@echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
@echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
@echo '# see make depend above' >> Makefile
- diff Makefile Makefile.bak
@rm -f Makefile.bak
# DO NOT DELETE THIS LINE
decl.o: hack.h mkroom.h
apply.o: hack.h edog.h mkroom.h
bones.o: hack.h
hack.o: hack.h
cmd.o: hack.h func_tab.h
do.o: hack.h
do_name.o: hack.h
do_wear.o: hack.h
dog.o: hack.h edog.h mkroom.h
dogmove.o: hack.h mfndpos.h edog.h mkroom.h
dothrow.o: hack.h
eat.o: hack.h
end.o: hack.h
engrave.o: hack.h
fight.o: hack.h
fountain.o: hack.h mkroom.h
invent.o: hack.h wseg.h
ioctl.o: config.h
lev.o: hack.h mkroom.h wseg.h
makemon.o: hack.h
mhitu.o: hack.h
mklev.o: hack.h mkroom.h
mkmaze.o: hack.h mkroom.h
mkobj.o: hack.h
mkshop.o: hack.h mkroom.h eshk.h
mon.o: hack.h mfndpos.h
monmove.o: hack.h mfndpos.h
monst.o: hack.h eshk.h
o_init.o: config.h objects.h onames.h
objnam.o: hack.h
options.o: hack.h
pager.o: hack.h
polyself.o: hack.h
potion.o: hack.h
pray.o: hack.h
pri.o: hack.h
prisym.o: hack.h wseg.h
read.o: hack.h
rip.o: hack.h
rumors.o: hack.h
save.o: hack.h
search.o: hack.h
shk.o: hack.h mfndpos.h mkroom.h eshk.h
shknam.o: hack.h
sit.o: hack.h
spell.o: hack.h
steal.o: hack.h
termcap.o: hack.h
timeout.o: hack.h
topl.o: hack.h
topten.o: hack.h
track.o: hack.h
trap.o: hack.h edog.h mkroom.h
u_init.o: hack.h
vault.o: hack.h mkroom.h
wield.o: hack.h
wizard.o: hack.h
worm.o: hack.h wseg.h
worn.o: hack.h
write.o: hack.h
zap.o: hack.h
version.o: hack.h date.h
extern.h: config.h spell.h obj.h
touch extern.h
hack.h: extern.h flag.h gold.h monst.h objclass.h rm.h trap.h you.h
touch hack.h
objects.h: config.h objclass.h
touch objects.h
you.h: config.h onames.h permonst.h
touch you.h
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above