|
|
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)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.