Commit | Line | Data |
---|---|---|
394a1d25 C |
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 |