|
|
1.1 root 1: #########################################################################
2: # This program is copyright (C) 1985, 1986 by Jonathan Payne. It is #
3: # provided to you without charge for use only on a licensed Unix #
4: # system. You may copy JOVE provided that this notice is included with #
5: # the copy. You may not sell copies of this program or versions #
6: # modified for use on microcomputer systems, unless the copies are #
7: # included with a Unix system distribution and the source is provided. #
8: #########################################################################
9:
10: # Figure out the directories for things. TMPDIR is where the tmp files get
11: # stored, usually /tmp or /tmp/jove. RECDIR is where the tmp files should be
12: # moved when the system comes back up (and a call to recover -syscrash should
13: # be put in /etc/rc before /tmp is cleared). If your system does not remove
14: # subdirectories of /tmp on reboot (lots do remove them these days) then it
15: # makes sense to make RECDIR and TMPDIR both be /tmp/jove. That way you
16: # don't need the call to jove_recover in /etc/rc. LIBDIR is for online
17: # documentation, the PORTSRV process, JOVE_RECOVER, and the system-wide
18: # .joverc file. BINDIR is where to put the executables JOVE, JOVE_RECOVER
19: # and TEACHJOVE. MANDIR is where the manual pages go for JOVE, JOVE_RECOVER
20: # and TEACHJOVE. MANEXT is the extension for the man pages, e.g., jove.1 or
21: # jove.l or jove.m.
22:
23: DESTDIR =
24: TMPDIR = /tmp/jove
25: RECDIR = /tmp/jove
26: LIBDIR = /usr/lib/jove
27: BINDIR = /bin
28: MANDIR = /usr/man/man1
29: MANEXT = 1
30: SHELL = /bin/csh
31:
32: # These should all just be right if the above ones are.
33: JOVE = $(DESTDIR)$(BINDIR)/jove
34: RECOVER = $(DESTDIR)$(BINDIR)/recover
35: TEACHJOVE = $(DESTDIR)$(BINDIR)/teachjove
36: JOVERC = $(DESTDIR)$(LIBDIR)/.joverc
37: CMDS.DOC = $(DESTDIR)$(LIBDIR)/cmds.doc
38: TEACH-JOVE = $(DESTDIR)$(LIBDIR)/teach-jove
39: PORTSRV = $(DESTDIR)$(LIBDIR)/portsrv
40: JOVEM = $(DESTDIR)$(MANDIR)/jove.$(MANEXT)
41: RECOVERM = $(DESTDIR)$(MANDIR)/recover.$(MANEXT)
42: TEACHJOVEM = $(DESTDIR)$(MANDIR)/teachjove.$(MANEXT)
43:
44: # Select the right libraries for your system.
45: # 2.9BSD: LIBS = -ltermlib -ljobs
46: # v7: LIBS = -ltermlib
47: # 4.1BSD: LIBS = -ltermlib -ljobs
48: # 4.2BSD: LIBS = -ltermlib
49: # 4.3BSD: LIBS = -ltermlib
50:
51: OVLIBS = -lovtermcap -lovjobs
52: LIBS = -ltermcap -ljobs
53:
54: # If you are not VMUNIX (vax running Berkeley Version 4), you must specify
55: # the -i flags (split I/D space) and maybe the -x option (for adb to work).
56: # 2.9BSD: LDFLAGS = -x -i
57: # v7: LDFLAGS = -x -i
58: # 4.1BSD: LDFLAGS =
59: # 4.2BSD: LDFLAGS =
60: # 4.3BSD: LDFLAGS =
61:
62: LDFLAGS = -x -i
63:
64: CFLAGS = -O -V
65:
66: COFLAGS = -rworking -q
67:
68: BASESEG = funcdefs.o keymaps.o ask.o buf.o ctype.o delete.o disp.o fmt.o fp.o \
69: insert.o io.o jove.o malloc.o macros.o marks.o misc.o move.o re.o \
70: screen.o tune.o util.o vars.o version.o
71: OVLAY1 = abbrev.o rec.o paragraph.o
72: OVLAY2 = c.o wind.o
73: OVLAY3 = extend.o
74: OVLAY4 = iproc.o re1.o
75: OVLAY5 = proc.o scandir.o term.o case.o
76:
77: OBJECTS = $(BASESEG) $(OVLAY1) $(OVLAY2) $(OVLAY3) $(OVLAY4) $(OVLAY5)
78:
79: C-FILES = funcdefs.c abbrev.c ask.c buf.c c.c case.c ctype.c delete.c disp.c \
80: extend.c fmt.c fp.c insert.c io.c iproc.c iproc-pipes.c iproc-ptys.c \
81: jove.c macros.c malloc.c marks.c misc.c move.c paragraph.c proc.c \
82: re.c re1.c rec.c scandir.c screen.c term.c util.c vars.c version.c \
83: wind.c
84:
85: H-FILES = ctype.h io.h jove.h re.h rec.h temp.h termcap.h tune.h
86:
87: BACKUPS = $(C-FILES) $(H-FILES) teachjove.c recover.c setmaps.c portsrv.c \
88: tune.template Makefile Ovmakefile keymaps.txt README tags \
89: doc
90:
91: all: xjove recover teachjove portsrv
92:
93: xjove: $(OBJECTS)
94: ld $(LDFLAGS) /lib/crt0.o \
95: -Z $(OVLAY1) \
96: -Z $(OVLAY2) \
97: -Z $(OVLAY3) \
98: -Z $(OVLAY4) \
99: -Z $(OVLAY5) \
100: -L $(BASESEG) \
101: -o xjove $(OVLIBS) -lovc
102: checkobj xjove
103: @-size xjove
104: @-date
105:
106: portsrv: portsrv.c
107: cc -o portsrv -n -O portsrv.c $(LIBS)
108:
109: recover: recover.c tune.o rec.h temp.h
110: cc -o recover -n -O recover.c tune.o -ljobs
111:
112: teachjove: teachjove.c
113: cc -o teachjove -n -O -DTEACHJOVE=\"$(TEACH-JOVE)\" teachjove.c
114:
115: setmaps: setmaps.c funcdefs.c
116: cc -o setmaps setmaps.c
117:
118: keymaps.c: setmaps keymaps.txt
119: setmaps < keymaps.txt > keymaps.c
120:
121: tune.c: Makefile tune.template
122: @echo "/* Changes should be made in Makefile, not to this file! */" > tune.c
123: @echo "" >> tune.c
124: @sed -e 's;TMPDIR;$(TMPDIR);' \
125: -e 's;RECDIR;$(RECDIR);' \
126: -e 's;LIBDIR;$(LIBDIR);' \
127: -e 's;BINDIR;$(BINDIR);' \
128: -e 's;SHELL;$(SHELL);' tune.template >> tune.c
129:
130: install: $(LIBDIR) $(TEACH-JOVE) $(CMDS.DOC) $(JOVERC) $(PORTSRV) $(RECOVER) \
131: $(JOVE) $(TEACHJOVE) $(JOVEM) $(RECOVERM) $(TEACHJOVEM)
132:
133: $(DESTDIR)$(LIBDIR):
134: -mkdir (DESTDIR)$(LIBDIR)
135:
136: $(TEACH-JOVE): doc/teach-jove
137: install -c -m 644 doc/teach-jove $(TEACH-JOVE)
138:
139: $(CMDS.DOC): doc/cmds.doc
140: install -c -m 644 doc/cmds.doc $(CMDS.DOC)
141:
142: $(JOVERC): doc/system.rc
143: install -c -m 644 doc/system.rc $(JOVERC)
144:
145: $(PORTSRV): portsrv
146: install -c -m 755 portsrv $(PORTSRV)
147:
148: $(RECOVER): recover
149: install -c -m 755 recover $(RECOVER)
150:
151: $(JOVE): xjove
152: install -c -m 755 xjove $(JOVE)
153:
154: $(TEACHJOVE): teachjove
155: install -c -m 755 teachjove $(TEACHJOVE)
156:
157: $(JOVEM): doc/jove.nr
158: @sed -e 's;TMPDIR;$(TMPDIR);' \
159: -e 's;RECDIR;$(RECDIR);' \
160: -e 's;LIBDIR;$(LIBDIR);' \
161: -e 's;SHELL;$(SHELL);' doc/jove.nr > /tmp/jove.nr
162: install -m 644 /tmp/jove.nr $(JOVEM)
163:
164: $(RECOVERM): doc/recover.nr
165: @sed -e 's;TMPDIR;$(TMPDIR);' \
166: -e 's;RECDIR;$(RECDIR);' \
167: -e 's;LIBDIR;$(LIBDIR);' \
168: -e 's;SHELL;$(SHELL);' doc/recover.nr > /tmp/recover.nr
169: install -m 644 /tmp/recover.nr $(RECOVERM)
170:
171: $(TEACHJOVEM): doc/teachjove.nr
172: @sed -e 's;TMPDIR;$(TMPDIR);' \
173: -e 's;RECDIR;$(RECDIR);' \
174: -e 's;LIBDIR;$(LIBDIR);' \
175: -e 's;SHELL;$(SHELL);' doc/teachjove.nr > /tmp/teachjove.nr
176: install -m 644 /tmp/teachjove.nr $(TEACHJOVEM)
177:
178: echo:
179: @echo $(C-FILES) $(H-FILES)
180:
181: lint:
182: lint -x $(C-FILES)
183: echo Done
184:
185: tags:
186: ctags -w $(C-FILES) $(H-FILES)
187:
188:
189: jove.shar:
190: shar $(BACKUPS) doc/* > jove.shar
191:
192: backup:
193: tar cf backup $(BACKUPS)
194:
195: tape-backup:
196: tar cbf 20 /dev/rmt0 $(BACKUPS)
197:
198: clean:
199: rm -f a.out core $(OBJECTS) keymaps.c xjove \
200: portsrv recover setmaps teachjove
201:
202: # abbrev.o: jove.h tune.h
203: # ask.o: jove.h tune.h
204: # buf.o: jove.h tune.h
205: # c.o: jove.h tune.h
206: # delete.o: jove.h tune.h
207: # disp.o: jove.h tune.h termcap.h
208: # extend.o: jove.h tune.h
209: # fmt.o: jove.h tune.h termcap.h
210: # funcdefs.o: jove.h tune.h
211: # insert.o: jove.h tune.h
212: # io.o: jove.h tune.h termcap.h temp.h
213: # iproc.o: jove.h tune.h
214: # jove.o: jove.h tune.h termcap.h
215: # macros.o: jove.h tune.h
216: # marks.o: jove.h tune.h
217: # misc.o: jove.h tune.h
218: # move.o: jove.h tune.h
219: # portsrv.o: jove.h tune.h
220: # proc.o: jove.h tune.h
221: # re.o: jove.h tune.h
222: # rec.o: jove.h tune.h temp.h rec.h
223: # recover.o: jove.h tune.h temp.h rec.h
224: # screen.o: jove.h tune.h temp.h termcap.h
225: # setmaps.o: jove.h tune.h
226: # term.o: jove.h tune.h
227: # tune.o: tune.h
228: # util.o: jove.h tune.h
229: # wind.o: jove.h tune.h termcap.h
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.