Annotation of 43BSD/contrib/jove/Ovmakefile, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.