xref: /original-bsd/games/larn/Makefile (revision a141c157)
1# Configuration options
2#
3#  Updated by jgd for csd1 and bruno for csd4.
4#  Check this against Omakefile for changes.
5#
6#  LARNHOME is the directory where the larn data files will be installed.
7#  BINDIR is the directory where the larn binary will be installed.
8
9# LARNHOME = /c/noah/public/.lfiles
10LARNHOME = /usr/games/lib/larnfiles
11# BINDIR = /c/noah/public
12BINDIR = /usr/games
13CC= cc
14
15# -ltermlib may need to be changed to -ltermcap on some systems
16# TERMLIB= -ltermlib
17TERMLIB= -ltermcap
18
19# Available compile time options:
20#   WIZID=xxx  - this is the userid (or playerid) of the wizard.  Default is
21#			zero (superuser), which disables all wizard functions.
22#			Players must have this userid (or playerid) in order
23#			to become the non-scoring wizard player.  Definition
24#			of WIZID to non-zero will enable the special wizard
25#			debugging commands.  For root to become wizard, use
26#			WIZID= -1.
27#   EXTRA      - incorporates code to gather additional performance statistics
28#   TIMECHECK  - incorporates code to disable play during working hours (8-5)
29#   SYSV       - use system III/V (instead of V7) type ioctl calls
30#   BSD        - use BSD specific features (mostly timer and signal stuff)
31#   BSD4.1     - use BSD4.1 to avoid some 4.2 dependencies (must be used with
32#					BSD above; do not mix with SYSV)
33#   HIDEBYLINK - if defined, the program attempts to hide from ps
34#   DOCHECKPOINTS - if not defined, checkpoint files are periodically written
35#                   by the larn process (no forking) if enabled in the .larnopts
36#		    description file.  Checkpointing is handy on an unreliable
37#	    	    system, but takes CPU. Inclusion of DOCHECKPOINTS will cause
38#		    fork()ing to perform the checkpoints (again if enabled in
39#		    the .larnopts file).  This usually avoids pauses in larn
40#		    while the checkpointing is being done (on large machines).
41#   SAVEINHOME - put save files in users HOME instead of LARNHOME the as default
42#	VER        - This is the version of the software, example:  12
43#	SUBVER     - This is the revision of the software, example:  1
44#	FLUSHNO=#  - Set the input queue excess flushing threshold (default 5)
45#	NOVARARGS  - Define for systems that don't have varargs (a default
46#		     varargs will be used).
47#	MACRORND   - Define to use macro version of rnd() and rund() (fast
48#		     and big)
49#	UIDSCORE   - Define to use user id's to manage scoreboard.  Leaving
50#		     this out will cause player id's from the file ".playerids"
51#		     to be used instead.  (.playerids is created upon demand).
52#		     Only one entry per id # is allowed in each scoreboard
53#		     (winning & non-winning).
54#	VT100	  - Compile for using vt100 family of terminals.  Omission of
55#		    this define will cause larn to use termcap, but it will be
56#		    MUCH slower due to an extra layer of output interpretation.
57#		    Also, only VT100 mode allows 2 different standout modes,
58#		    inverse video, and bold video.  And only in VT100 mode is
59#		    the scrolling region of the terminal used (much nicer than
60#		    insert/delete line sequences to simulate it, if VT100 is
61#		    omitted).
62#	NONAP	  - This causes napms() to return immediately instead of
63#		    delaying n milliseconds.  This define may be needed on
64#		    some systems if the nap stuff does not work correctly
65#		    (possible hang).  nap() is primarilly used to delay for
66#		    effect when casting missile type spells.
67#	NOLOG	  - Turn off logging.
68#
69
70OPTIONS = -DBSD -DVER=12 -DSUBVER=0 -DWIZID=57 -DSAVEINHOME -DNONAP -DNOLOG
71
72# End of configurable make options
73########################################################################
74#
75OBJS= main.o object.o create.o tok.o display.o global.o data.o io.o monster.o\
76	store.o diag.o help.o config.o nap.o bill.o scores.o signal.o moreobj.o\
77	movem.o regen.o fortune.o savelev.o
78SRCS= main.c object.c create.c tok.c display.c global.c data.c io.c monster.c\
79	store.c diag.c help.c config.c nap.c bill.c scores.c signal.c moreobj.c\
80	movem.c regen.c fortune.c savelev.c
81
82DOTFILES= .larn.help .larnmaze .larnopts .lfortune
83
84CFLAGS= -O $(OPTIONS) -DLARNHOME=\"$(LARNHOME)/\"
85
86all: larn
87
88larn: $(OBJS) ${LIBC}
89	$(CC) $(CFLAGS) $(OBJS) -o $@ $(TERMLIB)
90
91install:
92	-[ -d ${DESTDIR}/usr/games/lib/larnfiles ] || mkdir ${DESTDIR}/usr/games/lib/larnfiles
93	chmod 700 ${DESTDIR}/usr/games/lib/larnfiles
94	chown games.src ${DESTDIR}/usr/games/lib/larnfiles
95	install -s -o games -g bin -m 4700 larn ${DESTDIR}/usr/games/hide
96	(cd ${DESTDIR}/usr/games; rm -f larn; ln -s dm larn; chown games.bin larn)
97	install -c -o games -g bin -m 444 .larn.help ${DESTDIR}/usr/games/lib/larnfiles
98	install -c -o games -g bin -m 444 .larnmaze ${DESTDIR}/usr/games/lib/larnfiles
99	install -c -o games -g bin -m 444 .larnopts ${DESTDIR}/usr/games/lib/larnfiles
100	install -c -o games -g bin -m 444 .lfortune ${DESTDIR}/usr/games/lib/larnfiles
101
102clean: FRC
103	rm -f ${OBJS} core larn
104
105depend: FRC
106	mkdep ${CFLAGS} ${SRCS}
107
108lint: FRC
109	lint ${CFLAGS} ${SRCS}
110
111tags: FRC
112	ctags ${SRCS}
113
114FRC:
115
116# DO NOT DELETE THIS LINE -- mkdep uses it.
117# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
118
119main.o: main.c header.h /usr/include/pwd.h
120object.o: object.c header.h
121create.o: create.c header.h
122tok.o: tok.c /usr/include/sys/types.h /usr/include/sys/ioctl.h
123tok.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h header.h
124display.o: display.c header.h
125global.o: global.c header.h
126data.o: data.c header.h
127io.o: io.c header.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
128io.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
129io.o: /usr/include/varargs.h
130monster.o: monster.c header.h
131store.o: store.c header.h
132diag.o: diag.c /usr/include/sys/types.h /usr/include/sys/times.h
133diag.o: /usr/include/sys/stat.h header.h
134help.o: help.c header.h
135config.o: config.c header.h
136nap.o: nap.c /usr/include/signal.h /usr/include/sys/types.h
137nap.o: /usr/include/sys/timeb.h
138bill.o: bill.c header.h
139scores.o: scores.c /usr/include/sys/types.h /usr/include/sys/times.h
140scores.o: /usr/include/sys/stat.h header.h
141signal.o: signal.c /usr/include/signal.h header.h
142moreobj.o: moreobj.c header.h
143movem.o: movem.c header.h
144regen.o: regen.c header.h
145fortune.o: fortune.c /usr/include/sys/types.h /usr/include/sys/stat.h
146fortune.o: /usr/include/fcntl.h header.h
147savelev.o: savelev.c header.h
148
149# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
150