home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / apps / text_ed / elv16b2 / st / makefile < prev    next >
Makefile  |  1992-08-09  |  19KB  |  742 lines

  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 uue` to produce uuencoded compressed tar archives of the source
  10. # Use `make sh` to produce shar archives of the source
  11. #
  12. # Several groups of Makefile settings are included below.  Choose *ONE* group
  13. # of settings for your particular system, and leave the others commented out.
  14. # The meanings of these settings are:
  15. #    OBJ    the filename extension for unlinked object files -- usually .o
  16. #    EXE    filename extension for elvis executable file -- .exe, .tpp or null
  17. #    COM    filename extension for executable support files -- .com, .tpp or null
  18. #    EXTRA    version-specific object files used in elvis
  19. #    EXTRA2    version-specific object files used in elvis & elvrec
  20. #    LIBS    any special libraries, such as "-ltermcap"
  21. #    BIN    directory where executables should be installed
  22. #    CC    the C compiler command, possibly with "memory model" flags
  23. #    CFLAGS    compiler flags used to select compile-time options
  24. #    LNK    the linker command needed to link OBJ files (if not cc)
  25. #    LFLAGS    linker flags used to select link-time options
  26. #    SMALL    flag for special small memory model compilation -- usually null
  27. #    OF    link flag to control the output file's name -- usually -o<space>
  28. #    RF    flag used to denote "compile but don't link" -- usually -c
  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. #    RM    the name of a program that deletes files
  33. #    CP    name of a program that copies files -- copy or cp, usually
  34. #    SYS    type of system & compiler: unx/tos/os9/dos (maybe vms?)
  35. #    DUMMY    usually nothing, but OS9 needs "dummy"
  36. #    CFG    name of compiler configuration file -- usually null
  37.  
  38. #---- These settings are recommended for System-V UNIX and SCO XENIX-386 ----
  39. #OBJ=    .o
  40. #EXE=
  41. #COM=
  42. #EXTRA=    unix$(OBJ)
  43. #EXTRA2=
  44. #LIBS=    -lterm
  45. #BIN=    /usr/local/bin
  46. #CC=    cc
  47. #CFLAGS=    -DM_SYSV -O -DNO_SHIFT_FKEYS
  48. #SMALL=
  49. #OF=    -o ""
  50. #RF=    -c
  51. #EVAL=    eval
  52. #PROGS=    elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) \
  53. #    elvprsv$(COM)
  54. #CHMEM=
  55. #SORT=    -DSORT
  56. #RM=    rm -f
  57. #CP=    cp
  58. #SYS=    unx
  59. #DUMMY=
  60. #CFG=
  61.  
  62. #---- These settings are recommended for SCO XENIX-286 ----
  63. #OBJ=    .o
  64. #EXE=
  65. #COM=
  66. #EXTRA=    unix$(OBJ)
  67. #EXTRA2=
  68. #LIBS=    -ltcap
  69. #BIN=    /usr/local/bin
  70. #CC=    cc -M2m -i
  71. #CFLAGS=    -Ox -DCS_IBMPC
  72. #SMALL=
  73. #OF=    -o ""
  74. #RF=    -c
  75. #EVAL=    eval
  76. #PROGS=    elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) \
  77. #    elvprsv$(COM)
  78. #CHMEM=
  79. #SORT=    -DSORT
  80. #RM=    rm -f
  81. #CP=    cp
  82. #SYS=    unx
  83. #DUMMY=
  84. #CFG=    
  85.  
  86. #---- These settings are recommended for BSD 4.3 UNIX and SunOS ----
  87. #OBJ=    .o
  88. #EXE=    
  89. #COM=    
  90. #EXTRA=    unix$(OBJ)
  91. #EXTRA2=
  92. #LIBS=    -ltermcap
  93. #BIN=    /usr/local/bin
  94. #CC=    cc
  95. #CFLAGS=    -Dbsd -O
  96. #SMALL=
  97. #OF=    -o ""
  98. #RF=    -c
  99. #EVAL=    eval
  100. #PROGS=    elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) elvprsv$(COM)
  101. #CHMEM=
  102. #SORT=    -DSORT
  103. #RM=    rm -f
  104. #CP=    cp
  105. #SYS=    unx
  106. #DUMMY=
  107. #CFG=
  108.  
  109. #---- These settings are recommended for Coherent ----
  110. #OBJ=.o
  111. #EXE=
  112. #COM=
  113. #EXTRA=    unix$(OBJ) tinyprnt$(OBJ)
  114. #EXTRA2=
  115. #LIBS=    -lterm
  116. #BIN=    /usr/bin
  117. #CC=    cc
  118. #CFLAGS=    -O -DCOHERENT -VSUVAR -DCRUNCH -DNO_CHARATTR -DNO_CURSORSHAPE \
  119. #    -DNO_DIGRAPH -DNO_MKEXRC -DNO_POPUP -DNO_FKEYS -DNO_ABBR
  120. #SMALL=
  121. #OF=    -o ""
  122. #RF=    -c
  123. #EVAL=    eval
  124. #PROGS=    elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) \
  125. #    elvprsv$(COM)
  126. #CHMEM=    fixstack 2000 elvis$(EXE)
  127. #SORT=
  128. #RM=    rm -f
  129. #CP=    cp
  130. #SYS=    unx
  131. #DUMMY=
  132. #CFG=
  133.  
  134. #---- These settings are recommended for Minix-ST ----
  135. #OBJ=    .o
  136. #EXE=
  137. #COM=
  138. #EXTRA=    unix$(OBJ)
  139. #EXTRA2=
  140. #LIBS=
  141. #BIN=    /usr/bin
  142. #CC=    cc
  143. ##CC=    gcc -s
  144. #CFLAGS=
  145. #SMALL=
  146. #OF=    -o ""
  147. #RF=    -c
  148. #EVAL=    eval
  149. #PROGS=    elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) \
  150. #    elvprsv$(COM)
  151. #CHMEM=    chmem =18000 elvis$(EXE)
  152. #SORT=
  153. #RM=    rm -f
  154. #CP=    cp
  155. #SYS=    unx
  156. #DUMMY=
  157. #CFG=
  158.  
  159. #---- These settings are recommended for Minix-PC ----
  160. #OBJ=    .s
  161. #EXE=
  162. #COM=
  163. #EXTRA=    tinytcap$(OBJ) unix$(OBJ) tinyprnt$(OBJ)
  164. #EXTRA2=
  165. #LIBS=
  166. #BIN=    /usr/bin
  167. #CC=    cc -i
  168. #CFLAGS=    -O -DCRUNCH \
  169. #    -DNO_MKEXRC -DNO_CURSORSHAPE -DNO_CHARATTR -DNO_SHOWMODE \
  170. #    -DNO_MODELINE -DNO_OPTCOLS -DNO_DIGRAPH -DNO_EXTENSIONS \
  171. #    -DNO_ERRLIST -DNO_FKEY -DNO_VISIBLE -DNO_COLOR -DNO_POPUP
  172. ###(not -NO_AT -DNO_SENTENCE -DNO_ABBR -DNO_RECYCLE -DNO_MAGIC -DNO_CHARSEARCH)
  173. #SMALL=
  174. #OF=    -o ""
  175. #RF=    -c
  176. #EVAL=    eval
  177. #PROGS=    elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) \
  178. #    elvprsv$(COM)
  179. #CHMEM=
  180. #SORT=
  181. #RM=    rm -f
  182. #CP=    cp
  183. #SYS=    unx
  184. #DUMMY=
  185. #CFG=
  186.  
  187. #---- These settings are recommended for Amiga port done using Aztec 5.2b ----
  188. #    For AmigaDOS 2.04, you're all set! Its the default target!
  189. #OBJ=    .o
  190. #EXE=
  191. #COM=
  192. #EXTRA=    amiga$(OBJ) amitty$(OBJ) amisysio$(OBJ)
  193. #EXTRA2= tinytcap$(OBJ)
  194. #LIBS=    -lc
  195. #BIN=    sys:utilities
  196. #CC=    cc
  197. #CFLAGS=    -sob -Damiga
  198. #LNK=    ln
  199. #LFLAGS=
  200. #SMALL=
  201. #OF=    -o 
  202. #RF=
  203. #EVAL=
  204. #PROGS1=    elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) 
  205. #PROGS2=    elvprsv$(COM) ex$(COM) vi$(COM) view$(COM) input$(COM)
  206. #PROGS=    $(PROGS1) $(PROGS2)
  207. #CHMEM=
  208. #SORT=
  209. #RM=    delete
  210. #CP=    copy
  211. #SYS=    ami
  212. #DUMMY=
  213. #CFG=
  214.  
  215. #---- These settings are recommended for MS-DOS + MS-C + NDMAKE ----
  216. #OBJ=    .obj
  217. #EXE=    .exe
  218. #COM=    .exe    # .com might work, try it
  219. #EXTRA=    pc$(OBJ) sysdos$(OBJ) tinytcap$(OBJ)
  220. #EXTRA2=
  221. #LIBS=
  222. #BIN=    c:\dos
  223. #CC=    cl
  224. #CFLAGS=    -O -DCS_IBMPC -DCS_SPECIAL -DINTERNAL_TAGS
  225. #SMALL= /AM
  226. #OF=    -o 
  227. #RF=    -c
  228. #EVAL=
  229. #PROGS1=    elvis$(EXE) ex$(COM) ctags$(COM) ref$(COM) elvrec$(COM)
  230. #PROGS2=    wildcard$(COM) fmt$(COM) elvprsv$(COM)
  231. #PROGS=    $(PROGS1) $(PROGS2)
  232. #CHMEM=
  233. #SORT=
  234. #RM=    del
  235. #CP=    copy
  236. #SYS=    dos
  237. #DUMMY=
  238. #CFG=
  239.  
  240. ##---- These settings are recommended for MS-DOS + TURBO/BORLAND C ----
  241. ## CFG: name of the compiler config and response files
  242. ## TC_LIB & TC_INC: location of standard libraries and header files.
  243. #OBJ=    .obj
  244. #EXE=    .exe
  245. #COM=    .com
  246. #EXTRA=    pc$(OBJ) sysdos$(OBJ) tinytcap$(OBJ)
  247. #EXTRA2=
  248. #LIBS=@borland.rsp
  249. #BIN=    c:\bin
  250. #CFG=    borland.cfg borland.rsp
  251. #CC=    bcc
  252. #TC_LIB=    c:\bcc\lib
  253. #TC_INC=    c:\bcc\include
  254. #CFLAGS=    +borland.cfg
  255. ## uncomment next line iff using bcc, and you want to use pre-compiled headers
  256. #HDRS=    -H -H=borland.hdr
  257. ## uncomment next line to use med memory model for elvis
  258. ##CRNCH=    -DCRUNCH -mm
  259. #TC_CFLAGS1=    -ml -O -f- -w- -v -vi- -G- -DCS_IBMPC -DCS_SPECIAL -DINTERNAL_TAGS
  260. #TC_CFLAGS2=    $(HDRS) $(CRNCH) -I$(TC_INC) -L$(TC_LIB)
  261. ## extra flags for compiling support programs
  262. #SMALL=    -mt -lt -H- -v-
  263. ## extra flags for linking elvis (strip symbols)
  264. #EFLAGS=    -v-
  265. #OF=    -e
  266. #RF=    -c
  267. #EVAL=
  268. #PROGS1=    elvis$(EXE) ex$(COM) ctags$(COM) ref$(COM) elvrec$(COM)
  269. #PROGS2=    wildcard$(COM) fmt$(COM) elvprsv$(COM)
  270. #PROGS=    $(PROGS1) $(PROGS2)
  271. #CHMEM=
  272. #SORT=
  273. #RM=    del
  274. #CP=    copy
  275. #SYS=    dos
  276. #DUMMY=
  277. ##source file compilation rule:
  278. #.c.obj:
  279. #    $(CC) $(CFLAGS) $(RF) {$< }
  280.  
  281. #---- These settings can almost make DOS executables using the XENIX compiler
  282. #OBJ=    .o
  283. #EXE=    .exe
  284. #COM=    .exe    # .com might work, try it
  285. #EXTRA=    pc$(OBJ) sysdos$(OBJ) tinytcap$(OBJ)
  286. #EXTRA2=
  287. #LIBS=
  288. #BIN=    a:
  289. #CC=    cc -M2m -dos -F 4000
  290. #CFLAGS=    -O -DCS_IBMPC -DCS_SPECIAL -DINTERNAL_TAGS -Dvolatile= -Dconst=
  291. #SMALL=
  292. #OF=    -o ""
  293. #RF=    -c
  294. #EVAL=
  295. #PROGS1=    elvis$(EXE) ex$(COM) ctags$(COM) ref$(COM) elvrec$(COM)
  296. #PROGS2=    wildcard$(COM) fmt$(COM) elvprsv$(COM)
  297. #PROGS=    $(PROGS1) $(PROGS2)
  298. #CHMEM=
  299. #SORT=
  300. #RM=    rm -f
  301. #CP=    doscp -r
  302. #SYS=    xdos
  303. #DUMMY=
  304. #CFG=
  305.  
  306. #--- These settings are recommended for Atari TOS + Mark Williams C or Gnu C ----
  307. #OBJ=    .o
  308. #EXE=    .ttp
  309. #COM=    .ttp
  310. #EXTRA=    sysdos$(OBJ) tinytcap$(OBJ)
  311. #EXTRA2=    atari$(OBJ)
  312. #LIBS=
  313. #BIN=    c:\ #
  314. #CC=    cc -VPEEP
  315. ##CC=    gcc -s
  316. #CFLAGS=    -O -DCS_IBMPC -DCS_SPECIAL
  317. #SMALL=
  318. #OF=    -o 
  319. #RF=    -c
  320. #EVAL=
  321. #PROGS=    elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) wildcard$(COM) \
  322. #    shell$(COM) fmt$(COM) elvprsv$(COM)
  323. #CHMEM=    @echo -n
  324. #SORT=
  325. #RM=    rm -f
  326. #CP=    copy
  327. #SYS=    tos
  328. #DUMMY=
  329. #CFG=
  330.  
  331. #---- These settings are recommended for Atari TOS + gcc + MiNT libraries ----
  332. OBJ=.o
  333. EXE=.ttp
  334. COM=.ttp
  335. EXTRA=    sysdos$(OBJ) atari$(OBJ)
  336. EXTRA2=
  337. BIN=    c:\\bin
  338. CC=    gcc
  339. LIBS=    -ltermcap -liio
  340. LIBIIO=    -liio
  341. CFLAGS=    -O -Wall -fomit-frame-pointer -fcombine-regs -fstrength-reduce -DMINT -DCS_IBMPC -DCS_SPECIAL -DSMOOTHREDRAW
  342. SMALL=
  343. OF=    -o 
  344. RF=    -c
  345. MYNAME=    myname.c
  346. PROGS=    elvis$(EXE) ex$(COM) vi$(COM) view$(COM) input$(COM) \
  347.     ctags$(COM) ref$(COM) elvrec$(COM) wildcard$(COM) \
  348.     shell$(COM) fmt$(COM) elvprsv$(COM)
  349. CHMEM=    makefast elvis$(EXE) 
  350. SORT=
  351. RM=    rm -f
  352. CP=    cp
  353. SYS=    tos
  354. DUMMY=
  355.  
  356. #---- These settings are recommended for OS-9/68K V2.3 ----
  357. #OBJ=    .r
  358. #EXE=
  359. #COM=
  360. #EXTRA=    tinyprnt$(OBJ)
  361. #EXTRA2=    osk$(OBJ)
  362. #LIBS=    -l=/dd/lib/termlib.l
  363. #BIN=    /dd/usr/cmds
  364. #CC=    cc
  365. #ODIR=    /dd/usr/src/elvis
  366. #CFLAGS=    -gq -m=2 -DNO_CURSORSHAPE
  367. #SMALL=
  368. #OF=    -f=$(ODIR)/
  369. #RF=    -r
  370. #EVAL=
  371. #PROGS=    elvis$(EXE) vi$(COM) view$(COM) input$(COM) ctags$(COM) ref$(COM) \
  372. #    elvrec$(COM) fmt$(COM) elvprsv$(COM)
  373. #PROGS1=
  374. #PROGS2=
  375. #CHMEM=    touch elvis$(EXE)
  376. #SORT=
  377. #RM=    del *.stb *.dbg
  378. #CP=    copy
  379. #SYS=    os9
  380. #DUMMY=    dummy
  381. #CFG=
  382. #TC_CFLAGS1=
  383. #TC_CFLAGS2=
  384. #EFLAGS=
  385. #LNK=
  386. #LFLAGS=
  387.  
  388. ##---- These settings probably won't work for VAX/VMS, but they might ----
  389. #OBJ=    .obj
  390. #EXE=    .exe
  391. #COM=    .exe
  392. #EXTRA=    tinytcap$(OBJ)
  393. #EXTRA2=    vmsio$(OBJ)
  394. #LIBS=
  395. #BIN
  396. #CC=    cc
  397. #CFLAGS=    /define=NO_CURSORSHAPE /define=INTERNAL_TAGS
  398. #SMALL=
  399. #OF=    /exe=
  400. #RF=
  401. #PROGS=    elvis.exe elvprsv.exe elvrec.exe ctags.exe ref.exe
  402. #CHMEM=
  403. #SORT=
  404. #RM=    del
  405. #CP=    copy
  406. #SYS=    vms
  407. #DUMMY=    
  408. #CFG=    vmsopt.opt
  409. #
  410. ##compilation rules
  411. #.exe.c:
  412. #    $(CC) $<.c
  413. #    link $(OF)$<.exe,vmslink/opt
  414. #.obj.c:
  415. #    $(CC) $(CFLAGS) $<.c
  416.  
  417. ###########################################################################
  418. ###########################################################################
  419. ###                                                                     ###
  420. ###     The rest of this Makefile contains no user-serviceable parts    ###
  421. ###                                                                     ###
  422. ###########################################################################
  423. ###########################################################################
  424.  
  425. OBJS1=    blk$(OBJ) cmd1$(OBJ) cmd2$(OBJ) ctype$(OBJ) curses$(OBJ) cut$(OBJ)
  426. OBJS2=    ex$(OBJ) input$(OBJ) main$(OBJ) misc$(OBJ) modify$(OBJ) move1$(OBJ)
  427. OBJS3=    move2$(OBJ) move3$(OBJ) move4$(OBJ) move5$(OBJ) opts$(OBJ) recycle$(OBJ)
  428. OBJS4=    redraw$(OBJ) regexp$(OBJ) regsub$(OBJ) system$(OBJ) tio$(OBJ) tmp$(OBJ)
  429. OBJS5=    vars$(OBJ) vcmd$(OBJ) vi$(OBJ)
  430. OBJS=    $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5)
  431.  
  432. ALIAS=    alias$(OBJ)
  433.  
  434. SRC1=    Elvis.lnk Elvis.mak Elvis.prj Makefile.mix alias.c atari.c \
  435.     ctags.c pc.c ref.c shell.c sysdos.c myname.c
  436. SRC2=    elvrec.c wildcard.c fmt.c profile.sh osk.c osk.h elvprsv.c unix.c \
  437.     blk.c config.h
  438. SRC3=    cmd1.c cmd2.c curses.c
  439. SRC4=    curses.h cut.c ex.c input.c main.c misc.c
  440. SRC5=    modify.c move1.c move2.c move3.c move4.c move5.c opts.c recycle.c redraw.c
  441. SRC6=    regexp.c regexp.h regsub.c tinytcap.c tio.c tmp.c
  442. SRC7=    system.c vars.c vcmd.c vi.c vi.h tinyprnt.c
  443. SRC8=    ctype.c ctype.h borland.h novice.rc prsvdos.c prsvunix.c \
  444.     vmsbuild.com vmsio.c vmslink.opt vmsread.me vmssetup.com vmswild.c \
  445.     amiga.c amiprsv.c amistat.h amisysio.c amitty.c amiwild.c
  446.  
  447. ###########################################################################
  448. all: $(PROGS)
  449.     @echo done.
  450.  
  451. elvis$(EXE): linkelv.$(SYS)
  452.     @echo "elvis linked."
  453.  
  454. ctags$(COM): $(CFG) ctags.c wildcard.c
  455.     $(CC) $(CFLAGS) $(SMALL) $(SORT) $(OF)ctags$(COM) ctags.c $(EXTRA2) $(LIBIIO)
  456.  
  457. ref$(COM): $(CFG) ref.c
  458.     $(CC) $(CFLAGS) $(SMALL) $(OF)ref$(COM) ref.c $(LIBIIO)
  459.  
  460. elvrec$(COM): $(CFG) elvrec.c
  461.     $(CC) $(CFLAGS) $(SMALL) $(OF)elvrec$(COM) elvrec.c $(EXTRA2) $(LIBIIO)
  462.  
  463. ex$(COM): linkex.$(SYS)
  464.     @echo "ex done."
  465.  
  466. vi$(COM): linkvi.$(SYS)
  467.     @echo "vi done."
  468.  
  469. view$(COM): linkview.$(SYS)
  470.     @echo "view done."
  471.  
  472. input$(COM): linkinput.$(SYS)
  473.     @echo "input done."
  474.  
  475. shell$(COM): $(CFG) shell.c
  476.     $(CC) $(CFLAGS) $(SMALL) $(OF)shell$(COM) shell.c $(LIBIIO)
  477.  
  478. wildcard$(COM): $(CFG) wildcard.c
  479.     $(CC) $(CFLAGS) $(SMALL) $(OF)wildcard$(COM) wildcard.c ctype$(OBJ) $(LIBIIO)
  480.  
  481. fmt$(COM): $(CFG) fmt.c
  482.     $(CC) $(CFLAGS) $(SMALL) $(OF)fmt$(COM) fmt.c $(EXTRA2) $(LIBIIO)
  483.  
  484. elvprsv$(COM): $(CFG) elvprsv.c amiprsv.c prsvunix.c prsvdos.c wildcard.c
  485.     $(CC) $(CFLAGS) $(SMALL) $(OF)elvprsv$(COM) elvprsv.c ctype$(OBJ) $(LIBIIO)
  486.  
  487. ##############################################################################
  488. # "It all depends..."
  489.  
  490. $(OBJS): vi.h curses.h config.h regexp.h ctype.h
  491.  
  492. ##############################################################################
  493. # The way to link elvis is system dependent, and maybe compiler dependent too.
  494.  
  495. # elvis executable compilation rule for: AmigaDOS
  496. linkelv.ami: $(OBJS) $(EXTRA) $(EXTRA2)
  497.     $(LNK) $(LFLAGS) $(OF)elvis$(EXE) $(OBJS) $(EXTRA) $(EXTRA2) $(LIBS)
  498.     $(CHMEM)
  499.     @touch $@
  500.  
  501. # elvis executable compilation rule for: all unix, os9, tos, msc dos
  502. linkelv.unx linkelv.tos linkelv.os9 linkelv.cl: $(OBJS) $(EXTRA) $(EXTRA2)
  503.     $(CC) $(CFLAGS) $(OF)elvis$(EXE) $(OBJS) $(EXTRA) $(EXTRA2) $(LIBS)
  504.     $(CHMEM)
  505.     @touch $@
  506.  
  507. linkelv.dos: linkelv.$(CC)
  508.  
  509. # elvis executable compilation rule for: borland tcc, bcc
  510. linkelv.bcc linkelv.tcc: $(CFG) $(OBJS) $(EXTRA) $(EXTRA2)
  511.     $(CC) $(CFLAGS) $(LIBS)
  512.     @echo done > linkelv.$(CC)
  513.  
  514. linkelv.vms: $(OBJS) $(EXTRA) $(EXTRA2)
  515.     link$(OF)elvis.exe main,$(CFG)/opt
  516.  
  517. ##############################################################################
  518.  
  519. # borland/turbo c config files
  520. borland.cfg: $(DUMMY)
  521.     echo $(TC_CFLAGS1)> borland.cfg
  522.     echo $(TC_CFLAGS2)>> borland.cfg
  523.  
  524. borland.rsp: $(DUMMY)
  525.     echo $(EFLAGS) $(OF)elvis$(EXE) > borland.rsp
  526.     echo $(OBJS1)>> borland.rsp
  527.     echo $(OBJS2)>> borland.rsp
  528.     echo $(OBJS3)>> borland.rsp
  529.     echo $(OBJS4)>> borland.rsp
  530.     echo $(OBJS5)>> borland.rsp
  531.     echo $(EXTRA)>> borland.rsp
  532.  
  533. ##############################################################################
  534. # elvis executable compilation rule for: AmigaDOS
  535. linkex.ami: alias.o
  536.     $(LNK) $(LFLAGS) $(OF)ex$(EXE) alias.o $(LIBS)
  537.  
  538. linkex.unx linkex.xdos linkex.dos linkex.vms: $(CFG) alias.c
  539.     $(CC) $(CFLAGS) $(SMALL) $(OF)ex$(COM) alias.c
  540.  
  541. linkex.tos: $(CFG) alias$(OBJ) $(MYNAME)
  542.     $(CC) $(CFLAGS) $(SMALL) -DMYNAME=\"ex\" $(OF)ex$(COM) alias$(OBJ) $(MYNAME) $(LIBIIO)
  543.     @touch $@
  544.  
  545. linkex.os9: $(DUMMY)
  546.     @echo done >/nil
  547.  
  548. linkvi.ami linkvi.unx linkvi.xdos linkvi.dos linkvi.vms: ex$(COM)
  549.     $(CP) ex$(COM) vi$(COM)
  550.  
  551. linkvi.tos: $(CFG) alias$(OBJ) $(MYNAME)
  552.     $(CC) $(CFLAGS) $(SMALL) -DMYNAME=\"vi\" $(OF)vi$(COM) alias$(OBJ) $(MYNAME) $(LIBIIO)
  553.     @touch $@
  554.  
  555. linkvi.os9: alias.r
  556.     $(CC) $(CFLAGS) $(OF)vi$(COM) alias.r
  557.     @touch $@
  558.  
  559. linkview.ami linkview.unx linkview.xdos linkview.dos linkview.vms: ex$(COM)
  560.     $(CP) ex$(COM) view$(COM)
  561.  
  562. linkview.tos: $(CFG) alias$(OBJ) $(MYNAME)
  563.     $(CC) $(CFLAGS) $(SMALL) -DMYNAME=\"view\" $(OF)view$(COM) alias$(OBJ) $(MYNAME) $(LIBIIO)
  564.     @touch $@
  565.  
  566. linkview.os9: alias.r
  567.     $(CC) $(CFLAGS) $(OF)view$(COM) alias.r
  568.     @touch $@
  569.  
  570. linkinput.ami linkinput.unx linkinput.xdos linkinput.dos linkinput.vms: ex$(COM)
  571.     $(CP) ex$(COM) input$(COM)
  572.  
  573. linkinput.tos: $(CFG) alias$(OBJ) $(MYNAME)
  574.     $(CC) $(CFLAGS) $(SMALL) -DMYNAME=\"input\" $(OF)input$(COM) alias$(OBJ) $(MYNAME) $(LIBIIO)
  575.     @touch $@
  576.  
  577. linkinput.os9: alias.r
  578.     $(CC) $(CFLAGS) $(OF)input$(COM) alias.r
  579.     @touch $@
  580.  
  581. ##############################################################################
  582. # installation is system-dependent
  583.  
  584. install: $(PROGS) inst.$(SYS)
  585.     @echo Installation complete.
  586.  
  587. inst.ami: $(DUMMY)
  588.     MakeDir $(BIN)/Elvis
  589.     Assign Elvis: $(BIN)/Elvis
  590.     $(CP) $(PROGS) Elvis:
  591.     @echo ::: YOU STILL NEED TO EDIT THE S:STARTUP-SEQUENCE FILE,
  592.     @echo ::: TO HAVE TEMP FILES PRESERVED AFTER A SYSTEM CRASH.
  593.  
  594.  
  595. inst.unx: $(DUMMY)
  596.     $(CP) $(PROGS) $(BIN)
  597.     (cd $(BIN); chmod 755 $(PROGS))
  598.     (cd $(BIN); chown bin $(PROGS))
  599.     (cd $(BIN); chown root elvprsv$(COM) elvrec$(COM))
  600.     (cd $(BIN); chmod 4755 elvprsv$(COM) elvrec$(COM))
  601.     -ln $(BIN)/elvis $(BIN)/vi
  602.     -ln $(BIN)/elvis $(BIN)/ex
  603.     -ln $(BIN)/elvis $(BIN)/view
  604.     -ln $(BIN)/elvis $(BIN)/input
  605.     @echo ::: YOU STILL NEED TO EDIT THE /ETC/RC FILE, OR WHATEVER,
  606.     @echo ::: TO HAVE TEMP FILES BE PRESERVED AFTER A SYSTEM CRASH.
  607.  
  608. inst.dos: $(DUMMY)
  609.     for %a in ($(PROGS1)) do copy %a $(BIN)
  610.     for %a in ($(PROGS2)) do copy %a $(BIN)
  611.     $(CP) $(BIN)\ex$(COM) $(BIN)\vi$(COM)
  612.     $(CP) $(BIN)\ex$(COM) $(BIN)\view$(COM)
  613.     $(CP) $(BIN)\ex$(COM) $(BIN)\input$(COM)
  614.     @echo ::: YOU STILL NEED TO EDIT YOUR AUTOEXEC.BAT FILE TO
  615.     @echo ::: HAVE TEMP FILES BE PRESERVED AFTER A SYSTEM CRASH.
  616.  
  617. inst.xdos: $(DUMMY)
  618.     $(CP) $(PROGS) $(BIN)
  619.     $(CP) ex$(COM) $(BIN)/vi$(COM)
  620.     $(CP) ex$(COM) $(BIN)/view$(COM)
  621.     $(CP) ex$(COM) $(BIN)/input$(COM)
  622.     @echo ::: YOU STILL NEED TO EDIT THE AUTOEXEC.BAT FILE TO
  623.     @echo ::: HAVE TEMP FILES BE PRESERVED AFTER A SYSTEM CRASH.
  624.  
  625. inst.tos: $(DUMMY)
  626.     $(CP) $(PROGS) $(BIN)
  627.  
  628. inst.os9: $(DUMMY)
  629.     $(CP) $(PROGS) -rw=$(BIN)
  630.     chd $(BIN); attr -epenprnpw $(PROGS)
  631.     @echo ::: YOU STILL NEED TO EDIT THE /DD/STARTUP FILE, OR WHATEVER,
  632.     @echo ::: TO HAVE TEMP FILES BE PRESERVED AFTER A SYSTEM CRASH.
  633.  
  634. inst.vms: $(DUMMY)
  635.     @echo how?
  636.  
  637. ##############################################################################
  638. # clobbering is system dependent, because DOS's "copy" can't handle multiple
  639. # filenames
  640.  
  641. clobber: clean clob.$(SYS)
  642.     @echo -n
  643.  
  644. clean: $(DUMMY)
  645.     $(RM) *$(OBJ) 
  646.     $(RM) elvis?.uue 
  647.     $(RM) elvis?.sh 
  648.     $(RM) core
  649.  
  650. clob.unx clob.tos clob.os9 clob.xdos clob.vms: $(DUMMY)
  651.     $(RM) tags refs $(PROGS)
  652.  
  653. clob.dos : $(DUMMY)
  654.     for %a in ($(PROGS1)) do $(RM) %a
  655.     for %a in ($(PROGS2)) do $(RM) %a
  656.     for %a in (tags refs) do $(RM) %a
  657.     
  658. ##############################################################################
  659.  
  660. uue: elvis1.uue elvis2.uue elvis3.uue elvis4.uue elvis5.uue elvis6.uue elvis7.uue elvis8.uue
  661.  
  662. elvis1.uue: $(SRC1)
  663.     tar cf elvis1.tar $(SRC1)
  664.     compress -b13 elvis1.tar
  665.     uuencode elvis1.tar.Z <elvis1.tar.Z >elvis1.uue
  666.     $(RM) elvis1.tar*
  667.  
  668. elvis2.uue: $(SRC2)
  669.     tar cf elvis2.tar $(SRC2)
  670.     compress -b13 elvis2.tar
  671.     uuencode elvis2.tar.Z <elvis2.tar.Z >elvis2.uue
  672.     $(RM) elvis2.tar*
  673.  
  674. elvis3.uue: $(SRC3)
  675.     tar cf elvis3.tar $(SRC3)
  676.     compress -b13 elvis3.tar
  677.     uuencode elvis3.tar.Z <elvis3.tar.Z >elvis3.uue
  678.     $(RM) elvis3.tar*
  679.  
  680. elvis4.uue: $(SRC4)
  681.     tar cf elvis4.tar $(SRC4)
  682.     compress -b13 elvis4.tar
  683.     uuencode elvis4.tar.Z <elvis4.tar.Z >elvis4.uue
  684.     $(RM) elvis4.tar*
  685.  
  686. elvis5.uue: $(SRC5)
  687.     tar cf elvis5.tar $(SRC5)
  688.     compress -b13 elvis5.tar
  689.     uuencode elvis5.tar.Z <elvis5.tar.Z >elvis5.uue
  690.     $(RM) elvis5.tar*
  691.  
  692. elvis6.uue: $(SRC6)
  693.     tar cf elvis6.tar $(SRC6)
  694.     compress -b13 elvis6.tar
  695.     uuencode elvis6.tar.Z <elvis6.tar.Z >elvis6.uue
  696.     $(RM) elvis6.tar*
  697.  
  698. elvis7.uue: $(SRC7)
  699.     tar cf elvis7.tar $(SRC7)
  700.     compress -b13 elvis7.tar
  701.     uuencode elvis7.tar.Z <elvis7.tar.Z >elvis7.uue
  702.     $(RM) elvis7.tar*
  703.  
  704. elvis8.uue: $(SRC8)
  705.     tar cf elvis8.tar $(SRC8)
  706.     compress -b13 elvis8.tar
  707.     uuencode elvis8.tar.Z <elvis8.tar.Z >elvis8.uue
  708.     $(RM) elvis8.tar*
  709.  
  710. ##############################################################################
  711.  
  712. sh: elvis1.sh elvis2.sh elvis3.sh elvis4.sh elvis5.sh elvis6.sh elvis7.sh elvis8.sh
  713.  
  714. elvis1.sh: $(SRC1)
  715.     shar $(SRC1) >elvis1.sh
  716.  
  717. elvis2.sh: $(SRC2)
  718.     shar $(SRC2) >elvis2.sh
  719.  
  720. elvis3.sh: $(SRC3)
  721.     shar $(SRC3) >elvis3.sh
  722.  
  723. elvis4.sh: $(SRC4)
  724.     shar $(SRC4) >elvis4.sh
  725.  
  726. elvis5.sh: $(SRC5)
  727.     shar $(SRC5) >elvis5.sh
  728.  
  729. elvis6.sh: $(SRC6)
  730.     shar $(SRC6) >elvis6.sh
  731.  
  732. elvis7.sh: $(SRC7)
  733.     shar $(SRC7) >elvis7.sh
  734.  
  735. elvis8.sh: $(SRC8)
  736.     shar $(SRC8) >elvis7.sh
  737.  
  738. ##############################################################################
  739.  
  740. elvis_t.Z: $(SRC1) $(SRC2) $(SRC3) $(SRC4) $(SRC5) $(SRC6) $(SRC7) $(SRC8)
  741.     tar cfbZ elvis_t.Z 20 $(SRC1) $(SRC2) $(SRC3) $(SRC4) $(SRC5) $(SRC6) $(SRC7) $(SRC8) Makefile
  742.