Annotation of coherent/d/usr/bin/elvis/Makefile, revision 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.