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