Annotation of coherent/d/usr/bin/elvis/Makefile.mix, 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: #---- These settings are recommended for System-V UNIX and SCO XENIX-386 ----
                     40: #O=    .o
                     41: #E=
                     42: #EXTRA=
                     43: #EXTRA2=
                     44: #LIBS= -ltermcap
                     45: #BIN=  /usr/local/bin
                     46: #CFLAGS=       -DM_SYSV -O
                     47: #OF=   -o 
                     48: #RF=   -c
                     49: #DATE= -DDATE=\'\"`date`\"\'
                     50: #EVAL= eval 
                     51: #PROGS=        elvis$E ctags$E ref$E virec$E refont$E
                     52: #CHMEM=        
                     53: #SORT= -DSORT
                     54: #INST= inst.unix
                     55: #RM=   rm -f
                     56: #PR1=  refont -c
                     57: #PR2=  | lp
                     58: #DUMMY=
                     59: #DOC=  doc/
                     60: 
                     61: #---- These settings are recommended for SCO XENIX-286 ----
                     62: #O=    .o
                     63: #E=
                     64: #EXTRA=
                     65: #EXTRA2=
                     66: #LIBS= -ltermcap
                     67: #BIN=  /usr/local/bin
                     68: #CC=   cc -M2s -i
                     69: #CFLAGS=       -DM_SYSV -Ox -DCS_IBMPC
                     70: #OF=   -o 
                     71: #RF=   -c
                     72: #DATE= -DDATE=\'\"`date`\"\'
                     73: #EVAL= eval 
                     74: #PROGS=        elvis$E ctags$E ref$E virec$E refont$E
                     75: #CHMEM=        
                     76: #SORT= -DSORT
                     77: #INST= inst.unix
                     78: #RM=   rm -f
                     79: #PR1=  refont -c
                     80: #PR2=  | lp
                     81: #DUMMY=
                     82: #DOC=  doc/
                     83: 
                     84: #---- These settings are recommended for BSD 4.3 UNIX ----
                     85: #O=    .o
                     86: #E=
                     87: #EXTRA=
                     88: #EXTRA2=
                     89: #LIBS= -ltermcap
                     90: #BIN=  /usr/local/bin
                     91: #CFLAGS=       -Dbsd -O
                     92: #OF=   -o 
                     93: #RF=   -c
                     94: #DATE= -DDATE=\'\"`date`\"\'
                     95: #EVAL= eval 
                     96: #PROGS=        elvis$E ctags$E ref$E virec$E refont$E
                     97: #CHMEM=        
                     98: #SORT= -DSORT
                     99: #INST= inst.unix
                    100: #RM=   rm -f
                    101: #PR1=  refont -c
                    102: #PR2=  | lpr
                    103: #DUMMY=
                    104: #DOC=  doc/
                    105: 
                    106: #---- These settings are recommended for Coherent ----
                    107: #O=    .o
                    108: #E=
                    109: #EXTRA=
                    110: #EXTRA2=
                    111: #LIBS= -lterm
                    112: #BIN=  /usr/local/bin
                    113: #CC=   cc 
                    114: #CFLAGS=       -O -DCOHERENT -DCRUNCH -DNO_CHARATTR -DNO_CURSORSHAPE \
                    115: #      -DNO_DIGRAPH -DNO_MKEXRC
                    116: #OF=   -o 
                    117: #RF=   -c
                    118: #DATE= -DDATE=\'\"`date`\"\'
                    119: #EVAL= eval
                    120: #PROGS=        elvis$E ctags$E ref$E virec$E refont$E
                    121: #CHMEM=        fixstack 2000 elvis$E
                    122: #SORT=
                    123: #INST= inst.unix
                    124: #RM=   rm -f
                    125: #PR1=  refont -c
                    126: #PR2=  | lpr
                    127: #DUMMY=
                    128: #DOC=  doc/
                    129: 
                    130: #---- These settings are recommended for Minix-ST ----
                    131: #O=    .o
                    132: #E=
                    133: #EXTRA=
                    134: #EXTRA2=
                    135: #LIBS=
                    136: #BIN=  /usr/bin
                    137: #CC=   cc
                    138: #CFLAGS=
                    139: #OF=   -o 
                    140: #RF=   -c
                    141: #DATE= -DDATE=\'\"`date`\"\'
                    142: #EVAL= eval 
                    143: #PROGS=        elvis$E ctags$E ref$E virec$E refont$E
                    144: #CHMEM=        chmem =18000 elvis
                    145: #SORT=
                    146: #INST= inst.unix
                    147: #RM=   rm -f
                    148: #PR1=  lpr
                    149: #PR2=
                    150: #DUMMY=
                    151: #DOC=  doc/
                    152: 
                    153: #---- These settings are recommended for Minix-PC ----
                    154: #O=    .s
                    155: #E=
                    156: #EXTRA=        tinytcap$O
                    157: #EXTRA2=
                    158: #LIBS=
                    159: #BIN=  /usr/bin
                    160: #CC=   cc -i
                    161: #CFLAGS=       -O -DCRUNCH -DNO_MKEXRC -DNO_CURSORSHAPE -DNO_CHARATTR \
                    162: #      -DNO_SHOWMODE -DNO_MODELINE -DNO_OPTCOLS -DNO_DIGRAPH -DNO_ABBR \
                    163: #      -DNO_AT -DNO_SENTENCE -DNO_ERRLIST
                    164: #### (all but -DNO_EXTENSIONS, -DNO_RECYCLE, -DNO_MAGIC, and -DNO_CHARSEARCH)
                    165: #OF=   -o 
                    166: #RF=   -c
                    167: #DATE= -DDATE=\'\"`date`\"\'
                    168: #EVAL= eval 
                    169: #PROGS=        elvis$E ctags$E ref$E virec$E refont$E
                    170: #CHMEM=
                    171: #SORT=
                    172: #INST= inst.unix
                    173: #RM=   rm -f
                    174: #PR1=  lpr
                    175: #PR2=  
                    176: #DUMMY=
                    177: #DOC=  doc/
                    178: 
                    179: #---- These settings are recommended for MS-DOS + MS-C + NDMAKE ----
                    180: #O=    .obj
                    181: #E=    .exe
                    182: #EXTRA=        pc$O sysdos$O tinytcap$O
                    183: #EXTRA2=
                    184: #LIBS=
                    185: #BIN=  c:\dos
                    186: #CC=   cl /M2m
                    187: #CFLAGS=       -O -DCS_IBMPC
                    188: #OF=   -o 
                    189: #RF=   -c
                    190: #DATE=
                    191: #EVAL=
                    192: #PROGS=        elvis$E ex$E ctags$E ref$E virec$E wildcard$E refont$E
                    193: #CHMEM=        
                    194: #SORT=
                    195: #INST= inst.dos
                    196: #RM=   del
                    197: #PR1=  refont -c
                    198: #PR2=  >PRN
                    199: #DUMMY=
                    200: #DOC=  doc\
                    201: 
                    202: #---- These settings are recommended for Atari TOS + Mark Williams C ----
                    203: #O=    .o
                    204: #E=    .ttp
                    205: #EXTRA=        sysdos$O tinytcap$O
                    206: #EXTRA2=       atari$O
                    207: #LIBS=
                    208: #BIN=  c:\
                    209: #CC=   cc -VPEEP
                    210: #CFLAGS=       -O
                    211: #OF=   -o 
                    212: #RF=   -c
                    213: #DATE=
                    214: #EVAL=
                    215: #PROGS=        elvis$E ex$E ctags$E ref$E virec$E wildcard$E shell$E refont$E
                    216: #CHMEM=        
                    217: #SORT=
                    218: #INST= inst.dos
                    219: #RM=   rm -f
                    220: #PR1=  refont -e
                    221: #PR2=  >PRT:
                    222: #DUMMY=
                    223: #DOC=  doc\
                    224: 
                    225: #---- These settings are recommended for OS-9/68K V2.3 ----
                    226: #O=    .r
                    227: #E=
                    228: #EXTRA=        date$O
                    229: #EXTRA2=       osk$O 
                    230: #LIBS= -l=/dd/lib/termlib.l
                    231: #BIN=  /dd/usr/cmds
                    232: #CC=   cc
                    233: #ODIR= /dd/usr/src/elvis
                    234: #CFLAGS=       -gq -m=2
                    235: #OF=   -f=$(ODIR)/
                    236: #RF=   -r
                    237: #DATE=
                    238: #EVAL=
                    239: #PROGS=        elvis$E vi$E view$E input$E ctags$E ref$E virec$E refont$E
                    240: #CHMEM=        touch date.r
                    241: #SORT=
                    242: #INST= inst.os9
                    243: #RM=   del *.stb *.dbg
                    244: #PR1=  refont -b
                    245: #PR2=  >/p
                    246: #DUMMY=        dummy
                    247: #DOC=  doc/
                    248: 
                    249: ###########################################################################
                    250: ###########################################################################
                    251: ###                                                                     ###
                    252: ###     The rest of this Makefile contains no user-servicable parts     ###
                    253: ###                                                                     ###
                    254: ###########################################################################
                    255: ###########################################################################
                    256: 
                    257: OBJS=  blk$O cmd1$O cmd2$O curses$O cut$O ex$O input$O main$O misc$O \
                    258:        modify$O move1$O move2$O move3$O move4$O move5$O opts$O recycle$O \
                    259:        redraw$O regexp$O regsub$O system$O tio$O tmp$O vars$O vcmd$O vi$O
                    260: 
                    261: ALIAS= alias$O
                    262: 
                    263: DOCS=  $(DOC)index.doc $(DOC)intro.doc $(DOC)visual.doc $(DOC)ex.doc \
                    264:        $(DOC)regexp.doc $(DOC)options.doc $(DOC)cutbufs.doc $(DOC)differ.doc \
                    265:        $(DOC)internal.doc $(DOC)cflags.doc $(DOC)termcap.doc \
                    266:        $(DOC)environ.doc $(DOC)versions.doc
                    267: 
                    268: SRC1=  README $(DOC)intro.doc $(DOC)visual.doc $(DOC)ex.doc \
                    269:        $(DOC)versions.doc $(DOC)cflags.doc $(DOC)differ.doc
                    270: SRC2=  $(DOC)cutbufs.doc $(DOC)options.doc $(DOC)environ.doc $(DOC)regexp.doc \
                    271:        $(DOC)internal.doc $(DOC)termcap.doc $(DOC)index.doc $(DOC)ctags.man \
                    272:        $(DOC)elvis.man $(DOC)ref.man $(DOC)refont.man $(DOC)virec.man
                    273: SRC3=  Elvis.lnk Elvis.mak Elvis.prj Makefile.mix alias.c atari.c \
                    274:        ctags.c pc.c ref.c shell.c sysdos.c virec.c wildcard.c \
                    275:        profile.sh osk.c osk.h date.c
                    276: SRC4=  blk.c cmd1.c cmd2.c config.h curses.c
                    277: SRC5=  curses.h cut.c ex.c input.c main.c misc.c
                    278: SRC6=  modify.c move1.c move2.c move3.c move4.c move5.c opts.c recycle.c \
                    279:        redraw.c 
                    280: SRC7=  regexp.c regexp.h regsub.c system.c tinytcap.c tio.c tmp.c 
                    281: SRC8=  vars.c vcmd.c vi.c vi.h refont.c
                    282: 
                    283: ###########################################################################
                    284: 
                    285: all: $(PROGS)
                    286:        @echo done.
                    287: 
                    288: elvis$E: $(OBJS) $(EXTRA) $(EXTRA2)
                    289:        $(CC) $(CFLAGS) $(OF)elvis$E $(OBJS) $(EXTRA) $(EXTRA2) $(LIBS)
                    290:        -$(CHMEM)
                    291: 
                    292: ctags$E: ctags.c
                    293:        $(CC) $(CFLAGS) $(SORT) $(OF)ctags$E ctags.c
                    294: 
                    295: ref$E: ref.c
                    296:        $(CC) $(CFLAGS) $(OF)ref$E ref.c
                    297: 
                    298: virec$E: virec.c
                    299:        $(CC) $(CFLAGS) $(OF)virec$E virec.c $(EXTRA2)
                    300: 
                    301: view$E: $(ALIAS)
                    302:        $(CC) $(CFLAGS) $(OF)view$E $(ALIAS)
                    303: 
                    304: ex$E: $(ALIAS)
                    305:        $(CC) $(CFLAGS) $(OF)ex$E $(ALIAS)
                    306: 
                    307: vi$E: $(ALIAS)
                    308:        $(CC) $(CFLAGS) $(OF)vi$E $(ALIAS)
                    309: 
                    310: input$E: $(ALIAS)
                    311:        $(CC) $(CFLAGS) $(OF)input$E $(ALIAS)
                    312: 
                    313: wildcard$E: wildcard.c
                    314:        $(CC) $(CFLAGS) $(OF)wildcard$E wildcard.c
                    315: 
                    316: refont$E: refont.c
                    317:        $(CC) $(CFLAGS) $(OF)refont$E refont.c $(EXTRA2)
                    318: 
                    319: ##############################################################################
                    320: 
                    321: # The file cmd1.c is compiled with the extra flag -DDATE="today's date".
                    322: cmd1$O: cmd1.c vi.h config.h
                    323:        $(EVAL) $(CC) $(CFLAGS) $(RF) $(DATE) cmd1.c
                    324: 
                    325: # "It all depends..."
                    326: $(OBJS): vi.h curses.h config.h
                    327: 
                    328: # OS9 must create a custom date.c file, and compile it.
                    329: date$O: $(OBJS)
                    330:        @echo '/* compilation date of elvis */' >-date.c
                    331:        @echo -r 'char date[] = "' >+date.c
                    332:        @echo -r 'echo -r ' >-/dd/tmp/date.c
                    333:        @date >+/dd/tmp/date.c
                    334:        @shell /dd/tmp/date.c >+date.c
                    335:        @echo '";' >+date.c
                    336:        @del /dd/tmp/date.c
                    337:        $(CC) $(CFLAGS) $(RF) date.c
                    338: 
                    339: ##############################################################################
                    340: install: $(INST)
                    341:        @echo Installation complete.
                    342: 
                    343: inst.unix: $(DUMMY)
                    344:        cp $(PROGS) $(BIN)
                    345:        (cd $(BIN); chmod 755 $(PROGS))
                    346:        (cd $(BIN); chown bin $(PROGS))
                    347:        -ln $(BIN)/elvis $(BIN)/vi
                    348:        -ln $(BIN)/elvis $(BIN)/ex
                    349:        -ln $(BIN)/elvis $(BIN)/view
                    350:        -ln $(BIN)/elvis $(BIN)/input
                    351: 
                    352: inst.dos: $(DUMMY)
                    353:        copy $(PROGS) $(BIN)
                    354:        copy $(BIN)/ex$E $(BIN)/vi$E
                    355:        copy $(BIN)/ex$E $(BIN)/view$E
                    356:        copy $(BIN)/ex$E $(BIN)/input$E
                    357: 
                    358: inst.os9: $(DUMMY)
                    359:        copy $(PROGS) -rw=$(BIN)
                    360:        chd $(BIN); attr -epenprnpw $(PROGS)
                    361: 
                    362: ##############################################################################
                    363: clean: $(DUMMY)
                    364:        $(RM) *$O $(DOC)*.1 elvis?.uue elvis?.sh core
                    365: 
                    366: clobber: clean
                    367:        $(RM) tags refs $(PROGS)
                    368: 
                    369: ##############################################################################
                    370: print: refont$E
                    371:        $(PR1) $(DOCS) $(PR2)
                    372: 
                    373: tags refs: ctags$E
                    374:        ./ctags -r *.c *.h
                    375: 
                    376: ##############################################################################
                    377: uue: elvis1.uue elvis2.uue elvis3.uue elvis4.uue elvis5.uue \
                    378:        elvis6.uue elvis7.uue elvis8.uue
                    379: 
                    380: elvis1.uue: $(SRC1)
                    381:        tar cf elvis1.tar $(SRC1)
                    382:        compress -b13 elvis1.tar
                    383:        cp README elvis1.uue
                    384:        uue elvis1.tar.Z - >>elvis1.uue
                    385:        $(RM) elvis1.tar*
                    386: 
                    387: elvis2.uue: $(SRC2)
                    388:        tar cf elvis2.tar $(SRC2)
                    389:        compress -b13 elvis2.tar
                    390:        uue elvis2.tar.Z
                    391:        $(RM) elvis2.tar*
                    392: 
                    393: elvis3.uue: $(SRC3)
                    394:        tar cf elvis3.tar $(SRC3)
                    395:        compress -b13 elvis3.tar
                    396:        uuencode elvis3.tar.Z <elvis3.tar.Z >elvis3.uue
                    397:        $(RM) elvis3.tar*
                    398: 
                    399: elvis4.uue: $(SRC4)
                    400:        tar cf elvis4.tar $(SRC4)
                    401:        compress -b13 elvis4.tar
                    402:        uuencode elvis4.tar.Z <elvis4.tar.Z >elvis4.uue
                    403:        $(RM) elvis4.tar*
                    404: 
                    405: elvis5.uue: $(SRC5)
                    406:        tar cf elvis5.tar $(SRC5)
                    407:        compress -b13 elvis5.tar
                    408:        uuencode elvis5.tar.Z <elvis5.tar.Z >elvis5.uue
                    409:        $(RM) elvis5.tar*
                    410: 
                    411: elvis6.uue: $(SRC6)
                    412:        tar cf elvis6.tar $(SRC6)
                    413:        compress -b13 elvis6.tar
                    414:        uuencode elvis6.tar.Z <elvis6.tar.Z >elvis6.uue
                    415:        $(RM) elvis6.tar*
                    416: 
                    417: elvis7.uue: $(SRC7)
                    418:        tar cf elvis7.tar $(SRC7)
                    419:        compress -b13 elvis7.tar
                    420:        uuencode elvis7.tar.Z <elvis7.tar.Z >elvis7.uue
                    421:        $(RM) elvis7.tar*
                    422: 
                    423: elvis8.uue: $(SRC8)
                    424:        tar cf elvis8.tar $(SRC8)
                    425:        compress -b13 elvis8.tar
                    426:        uuencode elvis8.tar.Z <elvis8.tar.Z >elvis8.uue
                    427:        $(RM) elvis8.tar*
                    428: 
                    429: ##############################################################################
                    430: sh: elvis1.sh elvis2.sh elvis3.sh elvis4.sh elvis5.sh elvis6.sh \
                    431:        elvis7.sh elvis8.sh
                    432: 
                    433: elvis1.sh: $(SRC1)
                    434:        cat   >elvis1.sh README
                    435:        echo >>elvis1.sh ': ------------------------ CUT HERE --------------------'
                    436:        echo >>elvis1.sh 'test -d doc || mkdir doc || exit 2'
                    437:        shar >>elvis1.sh -h $(SRC1)
                    438: 
                    439: elvis2.sh: $(SRC2)
                    440:        echo  >elvis2.sh ': ------------------------ CUT HERE --------------------'
                    441:        echo >>elvis2.sh 'test -d doc || mkdir doc || exit 2'
                    442:        shar >>elvis2.sh -h $(SRC2)
                    443: 
                    444: elvis3.sh: $(SRC3)
                    445:        shar $(SRC3) >elvis3.sh
                    446: 
                    447: elvis4.sh: $(SRC4)
                    448:        shar $(SRC4) >elvis4.sh
                    449: 
                    450: elvis5.sh: $(SRC5)
                    451:        shar $(SRC5) >elvis5.sh
                    452: 
                    453: elvis6.sh: $(SRC6)
                    454:        shar $(SRC6) >elvis6.sh
                    455: 
                    456: elvis7.sh: $(SRC7)
                    457:        shar $(SRC7) >elvis7.sh
                    458: 
                    459: elvis8.sh: $(SRC8)
                    460:        shar $(SRC8) >elvis8.sh
                    461: 
                    462: ##############################################################################
                    463: 
                    464: # Under XENIX only!  This stores all sources on a 3.5" 720k floppy disk.
                    465: floppy: $(SRC1) $(SRC2) $(SRC3) $(SRC4) $(SRC5) $(SRC6) $(SRC7) $(SRC8)
                    466:        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.