|
|
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/new/lib/jove ! 23: BINDIR = /usr/new ! 24: MANDIR = /usr/new/man/cat1 ! 25: MANEXT = 0 ! 26: SHELL = /bin/csh ! 27: ! 28: # These should all just be right if the above ones are. ! 29: JOVE = $(DESTDIR)$(BINDIR)/jove ! 30: TEACHJOVE = $(DESTDIR)$(BINDIR)/teachjove ! 31: RECOVER = $(DESTDIR)$(LIBDIR)/recover ! 32: PORTSRV = $(DESTDIR)$(LIBDIR)/portsrv ! 33: JOVERC = $(DESTDIR)$(LIBDIR)/.joverc ! 34: CMDS.DOC = $(DESTDIR)$(LIBDIR)/cmds.doc ! 35: TEACH-JOVE = $(DESTDIR)$(LIBDIR)/teach-jove ! 36: JOVEM = $(DESTDIR)$(MANDIR)/jove.$(MANEXT) ! 37: TEACHJOVEM = $(DESTDIR)$(MANDIR)/teachjove.$(MANEXT) ! 38: ! 39: # Select the right libraries for your system. ! 40: # 2.10BSD:LIBS = -ltermcap ! 41: # v7: LIBS = -ltermcap ! 42: # 4.1BSD: LIBS = -ltermcap -ljobs ! 43: # 4.2BSD: LIBS = -ltermcap ! 44: # 4.3BSD: LIBS = -ltermcap ! 45: # SysV Rel. 2: LIBS = -lcurses ! 46: # SCO Xenix: LIBS = -ltermcap -lx ! 47: ! 48: LIBS = -ltermcap ! 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.10BSD:LDFLAGS = ! 53: # v7: LDFLAGS = ! 54: # 4.1BSD: LDFLAGS = ! 55: # 4.2BSD: LDFLAGS = ! 56: # 4.3BSD: LDFLAGS = ! 57: # SysV Rel. 2: LDFLAGS = -Ml ! 58: # SCO Xenix: LDFLAGS = -Ml -F 3000 ! 59: # ! 60: # SEPFLAG should be: ! 61: # not on a PDP-11: SEPFLAG = ! 62: # PDP-11 with separate I&D: SEPFLAG = -i ! 63: # PDP-11 without separate I&D: SEPFLAG = -n ! 64: # ! 65: ! 66: LDFLAGS = ! 67: ! 68: SEPFLAG = ! 69: ! 70: # for SCO Xenix, set ! 71: # MEMFLAGS = -Mle ! 72: # CFLAGS = -LARGE -O -F 3000 -K -Mle (say -Mle2 for an 80286) ! 73: ! 74: CFLAGS = -O ! 75: ! 76: BASESEG = funcdefs.o keymaps.o ask.o buf.o ctype.o delete.o \ ! 77: disp.o insert.o io.o jove.o marks.o misc.o re.o \ ! 78: screen.o tune.o util.o version.o ! 79: OVLAY1 = abbrev.o rec.o paragraph.o fmt.o malloc.o vars.o table.o ! 80: OVLAY2 = c.o wind.o fp.o ! 81: OVLAY3 = extend.o macros.o ! 82: OVLAY4 = iproc.o re1.o argcount.o ! 83: OVLAY5 = proc.o scandir.o term.o case.o move.o ! 84: ! 85: OBJECTS = $(BASESEG) $(OVLAY1) $(OVLAY2) $(OVLAY3) $(OVLAY4) $(OVLAY5) ! 86: ! 87: C_SRC = funcdefs.c abbrev.c argcount.c ask.c buf.c c.c case.c ctype.c \ ! 88: delete.c disp.c extend.c fp.c fmt.c insert.c io.c iproc.c \ ! 89: jove.c macros.c malloc.c marks.c misc.c move.c paragraph.c \ ! 90: proc.c re.c re1.c rec.c scandir.c screen.c table.c term.c util.c \ ! 91: vars.c version.c wind.c getch.c mac.c ! 92: ! 93: SOURCES = $(C_SRC) portsrv.c recover.c setmaps.c teachjove.c ! 94: ! 95: HEADERS = ctype.h io.h jove.h re.h rec.h table.h temp.h termcap.h \ ! 96: tune.h externs.h mac.h ! 97: ! 98: DOCS = doc/cmds.doc.nr doc/example.rc doc/jove.1 doc/jove.2 doc/jove.3 \ ! 99: doc/jove.4 doc/jove.5 doc/jove.nr doc/system.rc \ ! 100: doc/teach-jove doc/teachjove.nr doc/README doc/jove.qref ! 101: ! 102: MISC = Makefile Ovmakefile Makefile.dos tune.dos tune.template \ ! 103: README Readme.dos Readme.mac iproc-pipes.c iproc-ptys.c ! 104: ! 105: SUPPORT = teachjove.c recover.c setmaps.c portsrv.c keymaps.txt \ ! 106: macvert.c menumaps.txt mjovers.Hqx ! 107: ! 108: BACKUPS = $(HEADERS) $(C_SRC) $(DOCS) $(SUPPORT) $(MISC) ! 109: ! 110: all: sdate xjove recover teachjove portsrv macvert edate ! 111: ! 112: sdate: ! 113: @echo "**** make started at `date` ****" ! 114: ! 115: edate: ! 116: @echo "**** make completed at `date` ****" ! 117: ! 118: xjove: $(OBJECTS) ! 119: -if [ X$(SEPFLAG) = X ]; then \ ! 120: $(CC) $(LDFLAGS) -o xjove $(OBJECTS) $(LIBS); \ ! 121: elif [ X${SEPFLAG} = X-i ]; then \ ! 122: ld $(SEPFLAG) $(LDFLAGS) -X /lib/crt0.o \ ! 123: -Z $(OVLAY1) \ ! 124: -Z $(OVLAY2) \ ! 125: -Z $(OVLAY3) \ ! 126: -Z $(OVLAY4) \ ! 127: -Z $(OVLAY5) \ ! 128: -Y $(BASESEG) \ ! 129: -o xjove $(LIBS) -lc; \ ! 130: else \ ! 131: echo "Need overlay scheme for nonseparate I&D"; \ ! 132: fi ! 133: @-size xjove ! 134: ! 135: gjove: $(OBJECTS) ! 136: ld -X /lib/gcrt0.o -o gjove $(OBJECTS) -lc $(LIBS) ! 137: @-size gjove ! 138: ! 139: ovjove: $(OBJECTS) ! 140: ld $(SEPFLAG) $(LDFLAGS) -X /lib/crt0.o \ ! 141: -Z $(OVLAY1) \ ! 142: -Z $(OVLAY2) \ ! 143: -Z $(OVLAY3) \ ! 144: -Z $(OVLAY4) \ ! 145: -Z $(OVLAY5) \ ! 146: -Y $(BASESEG) \ ! 147: -o xjove $(LIBS) -lc; \ ! 148: @-size xjove ! 149: ! 150: portsrv: portsrv.o ! 151: $(CC) $(LDFLAGS) -o portsrv $(SEPFLAG) portsrv.o $(LIBS) ! 152: ! 153: recover: recover.o tune.o rec.h temp.h ! 154: $(CC) $(LDFLAGS) -o recover $(SEPFLAG) recover.o tune.o $(LIBS) ! 155: ! 156: teachjove: teachjove.o ! 157: $(CC) $(LDFLAGS) -o teachjove $(SEPFLAG) teachjove.o $(LIBS) ! 158: ! 159: setmaps: setmaps.o funcdefs.c ! 160: $(CC) $(LDFLAGS) -o setmaps setmaps.o ! 161: ! 162: teachjove.o: teachjove.c /usr/include/sys/types.h /usr/include/sys/file.h ! 163: cc -c $(CFLAGS) -DTEACHJOVE=\"$(TEACH-JOVE)\" teachjove.c ! 164: ! 165: # don't optimize setmaps.c because it produces bad code in some places ! 166: # for some reason ! 167: setmaps.o: funcdefs.c keymaps.txt ! 168: $(CC) $(MEMFLAGS) -c setmaps.c ! 169: ! 170: # ignore error messages from setmaps ! 171: # it doesn't understand ifdefs ! 172: ! 173: keymaps.c: setmaps keymaps.txt ! 174: -setmaps < keymaps.txt > keymaps.c ! 175: ! 176: keymaps.o: keymaps.c jove.h ! 177: ! 178: tune.c: Makefile tune.template ! 179: @echo "/* Changes should be made in Makefile, not to this file! */" > tune.c ! 180: @echo "" >> tune.c ! 181: @sed -e 's;TMPDIR;$(TMPDIR);' \ ! 182: -e 's;LIBDIR;$(LIBDIR);' \ ! 183: -e 's;BINDIR;$(BINDIR);' \ ! 184: -e 's;SHELL;$(SHELL);' tune.template >> tune.c ! 185: ! 186: iproc.o: iproc-ptys.c iproc-pipes.c iproc.c ! 187: $(CC) -c $(CFLAGS) iproc.c ! 188: ! 189: macvert: macvert.c ! 190: $(CC) $(CFLAGS) -o macvert macvert.c ! 191: ! 192: # install doesn't work for Xenix (no install program) ! 193: ! 194: install: $(DESTDIR)$(LIBDIR) $(TEACH-JOVE) $(CMDS.DOC) $(JOVERC) \ ! 195: $(PORTSRV) $(RECOVER) $(JOVE) $(TEACHJOVE) $(JOVEM) \ ! 196: $(RECOVERM) $(TEACHJOVEM) ! 197: ! 198: $(DESTDIR)$(LIBDIR): ! 199: -mkdir $(DESTDIR)$(LIBDIR) ! 200: ! 201: $(TEACH-JOVE): doc/teach-jove ! 202: install -c -m 644 doc/teach-jove $(TEACH-JOVE) ! 203: ! 204: doc/cmds.doc: doc/cmds.doc.nr doc/jove.4 doc/jove.5 ! 205: nroff doc/cmds.doc.nr doc/jove.4 doc/jove.5 > doc/cmds.doc ! 206: ! 207: $(CMDS.DOC): doc/cmds.doc ! 208: install -c -m 644 doc/cmds.doc $(CMDS.DOC) ! 209: ! 210: $(JOVERC): doc/system.rc ! 211: install -c -m 644 doc/system.rc $(JOVERC) ! 212: ! 213: $(PORTSRV): portsrv ! 214: install -c -s -m 755 portsrv $(PORTSRV) ! 215: ! 216: $(RECOVER): recover ! 217: install -c -s -m 755 recover $(RECOVER) ! 218: ! 219: $(JOVE): xjove ! 220: install -c -s -m 755 xjove $(JOVE) ! 221: ! 222: $(TEACHJOVE): teachjove ! 223: install -c -s -m 755 teachjove $(TEACHJOVE) ! 224: ! 225: $(JOVEM): doc/jove.nr ! 226: @sed -e 's;TMPDIR;$(TMPDIR);' \ ! 227: -e 's;LIBDIR;$(LIBDIR);' \ ! 228: -e 's;SHELL;$(SHELL);' doc/jove.nr > /tmp/jove.nr \ ! 229: | /usr/man/manroff /tmp/jove.nr \ ! 230: > $(JOVEM) ! 231: chmod 644 $(JOVEM) ! 232: ! 233: $(TEACHJOVEM): doc/teachjove.nr ! 234: @sed -e 's;TMPDIR;$(TMPDIR);' \ ! 235: -e 's;LIBDIR;$(LIBDIR);' \ ! 236: -e 's;SHELL;$(SHELL);' doc/teachjove.nr > /tmp/teachjove.nr ! 237: install -m 644 /tmp/teachjove.nr $(TEACHJOVEM) ! 238: ! 239: echo: ! 240: @echo $(C-FILES) $(HEADERS) ! 241: ! 242: lint: ! 243: lint -n $(C_SRC) tune.c keymaps.c ! 244: @echo Done ! 245: ! 246: tags: ! 247: ctags -w $(C_SRC) $(HEADERS) iproc-ptys.c ! 248: ! 249: ciall: ! 250: ci $(BACKUPS) ! 251: ! 252: coall: ! 253: co $(BACKUPS) ! 254: ! 255: jove.shar: ! 256: shar $(BACKUPS) > jove.shar ! 257: ! 258: backup: $(BACKUPS) ! 259: tar chf backup $(BACKUPS) ! 260: ! 261: tape-backup: ! 262: tar c $(BACKUPS) ! 263: ! 264: srcdownload: ! 265: kermit -s $(SUPPORT) $(MISC) $(HEADERS) $(C_SRC) ! 266: ! 267: docdownload: ! 268: kermit -s $(DOCS) ! 269: ! 270: touch: ! 271: touch $(OBJECTS) ! 272: ! 273: clean: ! 274: rm -f a.out core *.o keymaps.c tune.c xjove portsrv recover setmaps \ ! 275: teachjove macvert ! 276: ! 277: # This version only works under 4.3BSD ! 278: #depend: ! 279: # for i in ${SOURCES} ; do \ ! 280: # cc -M ${CFLAGS} $$i | awk ' { if ($$1 != prev) \ ! 281: # { if (rec != "") print rec; rec = $$0; prev = $$1; } \ ! 282: # else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ ! 283: # else rec = rec " " $$2 } } \ ! 284: # END { print rec } ' >> makedep; done ! 285: # echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep ! 286: # echo '$$r makedep' >>eddep ! 287: # echo 'w' >>eddep ! 288: # cp Makefile Makefile.bak ! 289: # ed - Makefile < eddep ! 290: # rm eddep makedep ! 291: # echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile ! 292: # echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile ! 293: # echo '# see make depend above' >> Makefile ! 294: # ! 295: ## DO NOT DELETE THIS LINE -- make depend uses it
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.