Annotation of coherent/d/usr/bin/elvis/Makefile, revision 1.1.1.1

1.1       root        1: # combined Makefile for ELVIS - a clone of `vi`
                      2: #
                      3: # After editing this Makefile as described below, you should...
                      4: #
                      5: # Use `make` to compile all programs
                      6: # Use `make install` to copy the programs to the BIN directory
                      7: # Use `make clean` to remove all object files
                      8: # Use `make clobber` to remove everything except source & documentation
                      9: # Use `make tags` to build new "tags" and "refs" files
                     10: # Use `make uue` to produce uuencoded compressed tar archives of the source
                     11: # Use `make sh` to produce shar archives of the source
                     12: # Use `make print` to print the Elvis documentation
                     13: #
                     14: # Several groups of Makefile settings are included below.  Choose *ONE* group
                     15: # of settings for your particular system, and leave the others commented out.
                     16: # The meanings of these settings are:
                     17: #      O       the filename extension for unlinked object files -- usually .o
                     18: #      E       the filename extension for executable files -- usually null
                     19: #      EXTRA   version-specific object files used in elvis
                     20: #      EXTRA2  version-specific object files used in elvis, virec, & refont
                     21: #      LIBS    any special libraries, such as "-ltermcap"
                     22: #      BIN     directory where executables should be installed
                     23: #      CC      the C compiler command, possibly with "memory model" flags
                     24: #      CFLAGS  compiler flags used to select compile-time options
                     25: #      OF      link flag to control the output file's name -- usually -o<space>
                     26: #      RF      flag used to denote "compile but don't link" -- usually -c
                     27: #      DATE    a "cc" flag that defines "DATE".  e.g. DATE=-DDATE=\"7/4/76\"
                     28: #      EVAL    the word "eval", if DATE requires it
                     29: #      PROGS   the list of all programs
                     30: #      CHMEM   any extra commands to be run after ELVIS is linked
                     31: #      SORT    if the "tags" file must be sorted, then SORT=-DSORT
                     32: #      INST    installation method: inst.dos, inst.os9, or inst.unix
                     33: #      RM      the name of a program that deletes files
                     34: #      PR1     used to print documentation -- typically "refont -c"
                     35: #      PR2     used to send text to printer -- typically "| lpr"
                     36: #      DUMMY   usually nothing, but OS9 needs "dummy"
                     37: #      DOC     name of "doc" directory, with a trailing slash
                     38: 
                     39: 
                     40: #---- These settings are recommended for Coherent ----
                     41: O=.o
                     42: E=
                     43: EXTRA=
                     44: EXTRA2=
                     45: LIBS=  -lterm
                     46: BIN=   /usr/bin
                     47: CC=    cc 
                     48: CFLAGS=        -O -DCOHERENT -DCRUNCH -DNO_CHARATTR -DNO_CURSORSHAPE \
                     49:        -DNO_DIGRAPH -DNO_MKEXRC
                     50: OF=    -o 
                     51: RF=    -c
                     52: DATE=  -DDATE=\'\"`date`\"\'
                     53: EVAL=  eval
                     54: PROGS= elvis$E ctags$E ref$E virec$E refont$E
                     55: CHMEM= fixstack 2000 $(DESTDIR)elvis$E
                     56: SORT=
                     57: INST=  inst.unix
                     58: RM=    rm -f
                     59: PR1=   refont -b
                     60: PR2=   >Elvis.doc
                     61: DUMMY=
                     62: DOC=   doc/
                     63: DESTDIR= /interim/usr/bin/
                     64: 
                     65: 
                     66: ###########################################################################
                     67: ###########################################################################
                     68: ###                                                                     ###
                     69: ###     The rest of this Makefile contains no user-servicable parts     ###
                     70: ###                                                                     ###
                     71: ###########################################################################
                     72: ###########################################################################
                     73: 
                     74: OBJS=  blk$O cmd1$O cmd2$O curses$O cut$O ex$O input$O main$O misc$O \
                     75:        modify$O move1$O move2$O move3$O move4$O move5$O opts$O recycle$O \
                     76:        redraw$O regexp$O regsub$O system$O tio$O tmp$O vars$O vcmd$O \
                     77:        vi$O
                     78: 
                     79: ALIAS= alias$O
                     80: 
                     81: DOCS=  $(DOC)index.doc $(DOC)intro.doc $(DOC)visual.doc $(DOC)ex.doc \
                     82:        $(DOC)regexp.doc $(DOC)options.doc $(DOC)cutbufs.doc $(DOC)differ.doc \
                     83:        $(DOC)internal.doc $(DOC)cflags.doc $(DOC)termcap.doc \
                     84:        $(DOC)environ.doc $(DOC)versions.doc
                     85: 
                     86: SRC1=  README $(DOC)intro.doc $(DOC)visual.doc $(DOC)ex.doc \
                     87:        $(DOC)versions.doc $(DOC)cflags.doc $(DOC)differ.doc
                     88: SRC2=  $(DOC)cutbufs.doc $(DOC)options.doc $(DOC)environ.doc $(DOC)regexp.doc \
                     89:        $(DOC)internal.doc $(DOC)termcap.doc $(DOC)index.doc $(DOC)ctags.man \
                     90:        $(DOC)elvis.man $(DOC)ref.man $(DOC)refont.man $(DOC)virec.man
                     91: SRC3=  Elvis.lnk Elvis.mak Elvis.prj Makefile.mix alias.c atari.c \
                     92:        ctags.c pc.c ref.c shell.c sysdos.c virec.c wildcard.c \
                     93:        profile.sh osk.c osk.h date.c
                     94: SRC4=  blk.c cmd1.c cmd2.c config.h curses.c
                     95: SRC5=  curses.h cut.c ex.c input.c main.c misc.c
                     96: SRC6=  modify.c move1.c move2.c move3.c move4.c move5.c opts.c recycle.c \
                     97:        redraw.c 
                     98: SRC7=  regexp.c regexp.h regsub.c system.c tinytcap.c tio.c tmp.c 
                     99: SRC8=  vars.c vcmd.c vi.c vi.h refont.c
                    100: 
                    101: ###########################################################################
                    102: 
                    103: all: $(PROGS)
                    104:        @echo done.
                    105: 
                    106: elvis$E: $(OBJS) $(EXTRA) $(EXTRA2)
                    107:        $(CC) $(CFLAGS) $(OF) $(DESTDIR)elvis$E $(OBJS) $(EXTRA) $(EXTRA2) $(LIBS)
                    108:        -$(CHMEM)
                    109:        su root chown bin $(DESTDIR)elvis
                    110:        su root chgrp bin $(DESTDIR)elvis
                    111:        su root chmod 755 $(DESTDIR)elvis
                    112:        su root ln -f $(DESTDIR)elvis $(DESTDIR)vi
                    113:        su root ln -f $(DESTDIR)elvis $(DESTDIR)ex
                    114:        su root ln -f $(DESTDIR)elvis $(DESTDIR)view
                    115:        su root ln -f $(DESTDIR)elvis $(DESTDIR)input
                    116: 
                    117: ctags$E: ctags.c
                    118:        $(CC) $(CFLAGS) $(SORT) $(OF) $(DESTDIR)ctags$E ctags.c
                    119:        su root chown bin $(DESTDIR)ctags
                    120:        su root chgrp bin $(DESTDIR)ctags
                    121:        su root chmod 511 $(DESTDIR)ctags
                    122: 
                    123: ref$E: ref.c
                    124:        $(CC) $(CFLAGS) $(OF) $(DESTDIR)ref$E ref.c
                    125:        su root chown bin $(DESTDIR)ref
                    126:        su root chgrp bin $(DESTDIR)ref
                    127:        su root chmod 511 $(DESTDIR)ref
                    128: 
                    129: virec$E: virec.c
                    130:        $(CC) $(CFLAGS) $(OF) $(DESTDIR)virec$E virec.c $(EXTRA2)
                    131:        su root chown bin $(DESTDIR)virec
                    132:        su root chgrp bin $(DESTDIR)virec
                    133:        su root chmod 511 $(DESTDIR)virec
                    134: 
                    135: view$E: $(ALIAS)
                    136:        $(CC) $(CFLAGS) $(OF) view$E $(ALIAS)
                    137: 
                    138: ex$E: $(ALIAS)
                    139:        $(CC) $(CFLAGS) $(OF) ex$E $(ALIAS)
                    140: 
                    141: vi$E: $(ALIAS)
                    142:        $(CC) $(CFLAGS) $(OF) vi$E $(ALIAS)
                    143: 
                    144: input$E: $(ALIAS)
                    145:        $(CC) $(CFLAGS) $(OF) input$E $(ALIAS)
                    146: 
                    147: wildcard$E: wildcard.c
                    148:        $(CC) $(CFLAGS) $(OF) wildcard$E wildcard.c
                    149: 
                    150: refont$E: refont.c
                    151:        $(CC) $(CFLAGS) $(OF) refont$E refont.c $(EXTRA2)
                    152: 
                    153: ##############################################################################
                    154: 
                    155: # The file cmd1.c is compiled with the extra flag -DDATE="today's date".
                    156: cmd1$O: cmd1.c vi.h config.h
                    157:        $(EVAL) $(CC) $(CFLAGS) $(RF) $(DATE) cmd1.c
                    158: 
                    159: # "It all depends..."
                    160: $(OBJS): vi.h curses.h config.h
                    161: 
                    162: # OS9 must create a custom date.c file, and compile it.
                    163: date$O: $(OBJS)
                    164:        @echo '/* compilation date of elvis */' >-date.c
                    165:        @echo -r 'char date[] = "' >+date.c
                    166:        @echo -r 'echo -r ' >-/dd/tmp/date.c
                    167:        @date >+/dd/tmp/date.c
                    168:        @shell /dd/tmp/date.c >+date.c
                    169:        @echo '";' >+date.c
                    170:        @del /dd/tmp/date.c
                    171:        $(CC) $(CFLAGS) $(RF) date.c
                    172: 
                    173: ##############################################################################
                    174: install: $(INST)
                    175:        @echo Installation complete.
                    176: 
                    177: inst.unix: $(DUMMY)
                    178:        su root chown bin $(DESTDIR)elvis
                    179:        su root chgrp bin $(DESTDIR)elvis
                    180:        su root chmod 755 $(DESTDIR)elvis
                    181:        su root ln $(DESTDIR)elvis $(DESTDIR)vi
                    182:        su root ln $(DESTDIR)elvis $(DESTDIR)ex
                    183:        su root ln $(DESTDIR)elvis $(DESTDIR)view
                    184:        su root ln $(DESTDIR)elvis $(DESTDIR)input
                    185: 
                    186: inst.dos: $(DUMMY)
                    187:        copy $(PROGS) $(BIN)
                    188:        copy $(BIN)/ex$E $(BIN)/vi$E
                    189:        copy $(BIN)/ex$E $(BIN)/view$E
                    190:        copy $(BIN)/ex$E $(BIN)/input$E
                    191: 
                    192: inst.os9: $(DUMMY)
                    193:        copy $(PROGS) -rw=$(BIN)
                    194:        chd $(BIN); attr -epenprnpw $(PROGS)
                    195: 
                    196: ##############################################################################
                    197: clean: $(DUMMY)
                    198:        $(RM) *$O $(DOC)*.1 elvis?.uue elvis?.sh core
                    199: 
                    200: clobber: clean
                    201:        $(RM) tags refs $(PROGS)
                    202: 
                    203: ##############################################################################
                    204: print: refont$E
                    205:        $(PR1) $(DOCS) $(PR2)
                    206: 
                    207: tags refs: ctags$E
                    208:        ./ctags -r *.c *.h
                    209: 
                    210: ##############################################################################
                    211: uue: elvis1.uue elvis2.uue elvis3.uue elvis4.uue elvis5.uue \
                    212:        elvis6.uue elvis7.uue elvis8.uue
                    213: 
                    214: elvis1.uue: $(SRC1)
                    215:        tar cf elvis1.tar $(SRC1)
                    216:        compress -b13 elvis1.tar
                    217:        cp README elvis1.uue
                    218:        uue elvis1.tar.Z - >>elvis1.uue
                    219:        $(RM) elvis1.tar*
                    220: 
                    221: elvis2.uue: $(SRC2)
                    222:        tar cf elvis2.tar $(SRC2)
                    223:        compress -b13 elvis2.tar
                    224:        uue elvis2.tar.Z
                    225:        $(RM) elvis2.tar*
                    226: 
                    227: elvis3.uue: $(SRC3)
                    228:        tar cf elvis3.tar $(SRC3)
                    229:        compress -b13 elvis3.tar
                    230:        uuencode elvis3.tar.Z <elvis3.tar.Z >elvis3.uue
                    231:        $(RM) elvis3.tar*
                    232: 
                    233: elvis4.uue: $(SRC4)
                    234:        tar cf elvis4.tar $(SRC4)
                    235:        compress -b13 elvis4.tar
                    236:        uuencode elvis4.tar.Z <elvis4.tar.Z >elvis4.uue
                    237:        $(RM) elvis4.tar*
                    238: 
                    239: elvis5.uue: $(SRC5)
                    240:        tar cf elvis5.tar $(SRC5)
                    241:        compress -b13 elvis5.tar
                    242:        uuencode elvis5.tar.Z <elvis5.tar.Z >elvis5.uue
                    243:        $(RM) elvis5.tar*
                    244: 
                    245: elvis6.uue: $(SRC6)
                    246:        tar cf elvis6.tar $(SRC6)
                    247:        compress -b13 elvis6.tar
                    248:        uuencode elvis6.tar.Z <elvis6.tar.Z >elvis6.uue
                    249:        $(RM) elvis6.tar*
                    250: 
                    251: elvis7.uue: $(SRC7)
                    252:        tar cf elvis7.tar $(SRC7)
                    253:        compress -b13 elvis7.tar
                    254:        uuencode elvis7.tar.Z <elvis7.tar.Z >elvis7.uue
                    255:        $(RM) elvis7.tar*
                    256: 
                    257: elvis8.uue: $(SRC8)
                    258:        tar cf elvis8.tar $(SRC8)
                    259:        compress -b13 elvis8.tar
                    260:        uuencode elvis8.tar.Z <elvis8.tar.Z >elvis8.uue
                    261:        $(RM) elvis8.tar*
                    262: 
                    263: ##############################################################################
                    264: sh: elvis1.sh elvis2.sh elvis3.sh elvis4.sh elvis5.sh elvis6.sh \
                    265:        elvis7.sh elvis8.sh
                    266: 
                    267: elvis1.sh: $(SRC1)
                    268:        cat   >elvis1.sh README
                    269:        echo >>elvis1.sh ': ------------------------ CUT HERE --------------------'
                    270:        echo >>elvis1.sh 'test -d doc || mkdir doc || exit 2'
                    271:        shar >>elvis1.sh -h $(SRC1)
                    272: 
                    273: elvis2.sh: $(SRC2)
                    274:        echo  >elvis2.sh ': ------------------------ CUT HERE --------------------'
                    275:        echo >>elvis2.sh 'test -d doc || mkdir doc || exit 2'
                    276:        shar >>elvis2.sh -h $(SRC2)
                    277: 
                    278: elvis3.sh: $(SRC3)
                    279:        shar $(SRC3) >elvis3.sh
                    280: 
                    281: elvis4.sh: $(SRC4)
                    282:        shar $(SRC4) >elvis4.sh
                    283: 
                    284: elvis5.sh: $(SRC5)
                    285:        shar $(SRC5) >elvis5.sh
                    286: 
                    287: elvis6.sh: $(SRC6)
                    288:        shar $(SRC6) >elvis6.sh
                    289: 
                    290: elvis7.sh: $(SRC7)
                    291:        shar $(SRC7) >elvis7.sh
                    292: 
                    293: elvis8.sh: $(SRC8)
                    294:        shar $(SRC8) >elvis8.sh
                    295: 
                    296: ##############################################################################
                    297: 
                    298: # Under XENIX only!  This stores all sources on a 3.5" 720k floppy disk.
                    299: floppy: $(SRC1) $(SRC2) $(SRC3) $(SRC4) $(SRC5) $(SRC6) $(SRC7) $(SRC8)
                    300:        tar c5v $(SRC1) $(SRC2) $(SRC3) $(SRC4) $(SRC5) $(SRC6) $(SRC7) $(SRC8)

unix.superglobalmegacorp.com

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