|
|
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.