home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 365_02 / makefile.mix < prev    next >
Makefile  |  1992-04-06  |  19KB  |  696 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 OS-9/68K V2.3 ----
  332. #OBJ=    .r
  333. #EXE=
  334. #COM=
  335. #EXTRA=    tinyprnt$(OBJ)
  336. #EXTRA2=    osk$(OBJ)
  337. #LIBS=    -l=/dd/lib/termlib.l
  338. #BIN=    /dd/usr/cmds
  339. #CC=    cc
  340. #ODIR=    /dd/usr/src/elvis
  341. #CFLAGS=    -gq -m=2 -DNO_CURSORSHAPE
  342. #SMALL=
  343. #OF=    -f=$(ODIR)/
  344. #RF=    -r
  345. #EVAL=
  346. #PROGS=    elvis$(EXE) vi$(COM) view$(COM) input$(COM) ctags$(COM) ref$(COM) \
  347. #    elvrec$(COM) fmt$(COM) elvprsv$(COM)
  348. #PROGS1=
  349. #PROGS2=
  350. #CHMEM=    touch elvis$(EXE)
  351. #SORT=
  352. #RM=    del *.stb *.dbg
  353. #CP=    copy
  354. #SYS=    os9
  355. #DUMMY=    dummy
  356. #CFG=
  357. #TC_CFLAGS1=
  358. #TC_CFLAGS2=
  359. #EFLAGS=
  360. #LNK=
  361. #LFLAGS=
  362.  
  363. ##---- These settings probably won't work for VAX/VMS, but they might ----
  364. #OBJ=    .obj
  365. #EXE=    .exe
  366. #COM=    .exe
  367. #EXTRA=    tinytcap$(OBJ)
  368. #EXTRA2=    vmsio$(OBJ)
  369. #LIBS=
  370. #BIN
  371. #CC=    cc
  372. #CFLAGS=    /define=NO_CURSORSHAPE /define=INTERNAL_TAGS
  373. #SMALL=
  374. #OF=    /exe=
  375. #RF=
  376. #PROGS=    elvis.exe elvprsv.exe elvrec.exe ctags.exe ref.exe
  377. #CHMEM=
  378. #SORT=
  379. #RM=    del
  380. #CP=    copy
  381. #SYS=    vms
  382. #DUMMY=    
  383. #CFG=    vmsopt.opt
  384. #
  385. ##compilation rules
  386. #.exe.c:
  387. #    $(CC) $<.c
  388. #    link $(OF)$<.exe,vmslink/opt
  389. #.obj.c:
  390. #    $(CC) $(CFLAGS) $<.c
  391.  
  392. ###########################################################################
  393. ###########################################################################
  394. ###                                                                     ###
  395. ###     The rest of this Makefile contains no user-serviceable parts    ###
  396. ###                                                                     ###
  397. ###########################################################################
  398. ###########################################################################
  399.  
  400. OBJS1=    blk$(OBJ) cmd1$(OBJ) cmd2$(OBJ) ctype$(OBJ) curses$(OBJ) cut$(OBJ)
  401. OBJS2=    ex$(OBJ) input$(OBJ) main$(OBJ) misc$(OBJ) modify$(OBJ) move1$(OBJ)
  402. OBJS3=    move2$(OBJ) move3$(OBJ) move4$(OBJ) move5$(OBJ) opts$(OBJ) recycle$(OBJ)
  403. OBJS4=    redraw$(OBJ) regexp$(OBJ) regsub$(OBJ) system$(OBJ) tio$(OBJ) tmp$(OBJ)
  404. OBJS5=    vars$(OBJ) vcmd$(OBJ) vi$(OBJ)
  405. OBJS=    $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5)
  406.  
  407. ALIAS=    alias$(OBJ)
  408.  
  409. SRC1=    Elvis.lnk Elvis.mak Elvis.prj Makefile.mix alias.c atari.c \
  410.     ctags.c pc.c ref.c shell.c sysdos.c
  411. SRC2=    elvrec.c wildcard.c fmt.c profile.sh osk.c osk.h elvprsv.c unix.c \
  412.     blk.c config.h
  413. SRC3=    cmd1.c cmd2.c curses.c
  414. SRC4=    curses.h cut.c ex.c input.c main.c misc.c
  415. SRC5=    modify.c move1.c move2.c move3.c move4.c move5.c opts.c recycle.c redraw.c
  416. SRC6=    regexp.c regexp.h regsub.c tinytcap.c tio.c tmp.c
  417. SRC7=    system.c vars.c vcmd.c vi.c vi.h tinyprnt.c
  418. SRC8=    ctype.c ctype.h borland.h novice.rc prsvdos.c prsvunix.c \
  419.     vmsbuild.com vmsio.c vmslink.opt vmsread.me vmssetup.com vmswild.c \
  420.     amiga.c amiprsv.c amistat.h amisysio.c amitty.c amiwild.c
  421.  
  422. ###########################################################################
  423. all: $(PROGS)
  424.     @echo done.
  425.  
  426. elvis$(EXE): linkelv.$(SYS)
  427.     @echo "elvis linked."
  428.  
  429. ctags$(COM): $(CFG) ctags.c
  430.     $(CC) $(CFLAGS) $(SMALL) $(SORT) $(OF)ctags$(COM) ctags.c $(EXTRA2)
  431.  
  432. ref$(COM): $(CFG) ref.c
  433.     $(CC) $(CFLAGS) $(SMALL) $(OF)ref$(COM) ref.c
  434.  
  435. elvrec$(COM): $(CFG) elvrec.c
  436.     $(CC) $(CFLAGS) $(SMALL) $(OF)elvrec$(COM) elvrec.c $(EXTRA2)
  437.  
  438. ex$(COM): linkex.$(SYS)
  439.     @echo "ex done."
  440.  
  441. vi$(COM): linkvi.$(SYS)
  442.     @echo "vi done."
  443.  
  444. view$(COM): linkview.$(SYS)
  445.     @echo "view done."
  446.  
  447. input$(COM): linkinput.$(SYS)
  448.     @echo "input done."
  449.  
  450. shell$(COM): $(CFG) shell.c
  451.     $(CC) $(CFLAGS) $(SMALL) $(OF)shell$(COM) shell.c
  452.  
  453. wildcard$(COM): $(CFG) wildcard.c
  454.     $(CC) $(CFLAGS) $(SMALL) $(OF)wildcard$(COM) wildcard.c ctype$(OBJ)
  455.  
  456. fmt$(COM): $(CFG) fmt.c
  457.     $(CC) $(CFLAGS) $(SMALL) $(OF)fmt$(COM) fmt.c $(EXTRA2)
  458.  
  459. elvprsv$(COM): $(CFG) elvprsv.c amiprsv.c prsvunix.c prsvdos.c wildcard.c
  460.     $(CC) $(CFLAGS) $(SMALL) $(OF)elvprsv$(COM) elvprsv.c ctype$(OBJ)
  461.  
  462. ##############################################################################
  463. # "It all depends..."
  464.  
  465. $(OBJS): vi.h curses.h config.h regexp.h ctype.h
  466.  
  467. ##############################################################################
  468. # The way to link elvis is system dependent, and maybe compiler dependent too.
  469.  
  470. # elvis executable compilation rule for: AmigaDOS
  471. linkelv.ami: $(OBJS) $(EXTRA) $(EXTRA2)
  472.     $(LNK) $(LFLAGS) $(OF)elvis$(EXE) $(OBJS) $(EXTRA) $(EXTRA2) $(LIBS)
  473.     $(CHMEM)
  474.     @touch $@
  475.  
  476. # elvis executable compilation rule for: all unix, os9, tos, msc dos
  477. linkelv.unx linkelv.tos linkelv.os9 linkelv.cl: $(OBJS) $(EXTRA) $(EXTRA2)
  478.     $(CC) $(CFLAGS) $(OF)elvis$(EXE) $(OBJS) $(EXTRA) $(EXTRA2) $(LIBS)
  479.     $(CHMEM)
  480.     @touch $@
  481.  
  482. linkelv.dos: linkelv.$(CC)
  483.  
  484. # elvis executable compilation rule for: borland tcc, bcc
  485. linkelv.bcc linkelv.tcc: $(CFG) $(OBJS) $(EXTRA) $(EXTRA2)
  486.     $(CC) $(CFLAGS) $(LIBS)
  487.     @echo done > linkelv.$(CC)
  488.  
  489. linkelv.vms: $(OBJS) $(EXTRA) $(EXTRA2)
  490.     link$(OF)elvis.exe main,$(CFG)/opt
  491.  
  492. ##############################################################################
  493.  
  494. # borland/turbo c config files
  495. borland.cfg: $(DUMMY)
  496.     echo $(TC_CFLAGS1)> borland.cfg
  497.     echo $(TC_CFLAGS2)>> borland.cfg
  498.  
  499. borland.rsp: $(DUMMY)
  500.     echo $(EFLAGS) $(OF)elvis$(EXE) > borland.rsp
  501.     echo $(OBJS1)>> borland.rsp
  502.     echo $(OBJS2)>> borland.rsp
  503.     echo $(OBJS3)>> borland.rsp
  504.     echo $(OBJS4)>> borland.rsp
  505.     echo $(OBJS5)>> borland.rsp
  506.     echo $(EXTRA)>> borland.rsp
  507.  
  508. ##############################################################################
  509. # elvis executable compilation rule for: AmigaDOS
  510. linkex.ami: alias.o
  511.     $(LNK) $(LFLAGS) $(OF)ex$(EXE) alias.o $(LIBS)
  512.  
  513. linkex.unx linkex.tos linkex.xdos linkex.dos linkex.vms: $(CFG) alias.c
  514.     $(CC) $(CFLAGS) $(SMALL) $(OF)ex$(COM) alias.c
  515.  
  516. linkex.os9: $(DUMMY)
  517.     @echo done >/nil
  518.  
  519. linkvi.ami linkvi.unx linkvi.tos linkvi.xdos linkvi.dos linkvi.vms: ex$(COM)
  520.     $(CP) ex$(COM) vi$(COM)
  521.  
  522. linkvi.os9: alias.r
  523.     $(CC) $(CFLAGS) $(OF)vi$(COM) alias.r
  524.     @touch $@
  525.  
  526. linkview.ami linkview.unx linkview.tos linkview.xdos linkview.dos linkview.vms: ex$(COM)
  527.     $(CP) ex$(COM) view$(COM)
  528.  
  529. linkview.os9: alias.r
  530.     $(CC) $(CFLAGS) $(OF)view$(COM) alias.r
  531.     @touch $@
  532.  
  533. linkinput.ami linkinput.unx linkinput.tos linkinput.xdos linkinput.dos linkinput.vms: ex$(COM)
  534.     $(CP) ex$(COM) input$(COM)
  535.  
  536. linkinput.os9: alias.r
  537.     $(CC) $(CFLAGS) $(OF)input$(COM) alias.r
  538.     @touch $@
  539.  
  540. ##############################################################################
  541. # installation is system-dependent
  542.  
  543. install: $(PROGS) inst.$(SYS)
  544.     @echo Installation complete.
  545.  
  546. inst.ami: $(DUMMY)
  547.     MakeDir $(BIN)/Elvis
  548.     Assign Elvis: $(BIN)/Elvis
  549.     $(CP) $(PROGS) Elvis:
  550.     @echo ::: YOU STILL NEED TO EDIT THE S:STARTUP-SEQUENCE FILE,
  551.     @echo ::: TO HAVE TEMP FILES PRESERVED AFTER A SYSTEM CRASH.
  552.  
  553.  
  554. inst.unx: $(DUMMY)
  555.     $(CP) $(PROGS) $(BIN)
  556.     (cd $(BIN); chmod 755 $(PROGS))
  557.     (cd $(BIN); chown bin $(PROGS))
  558.     (cd $(BIN); chown root elvprsv$(COM) elvrec$(COM))
  559.     (cd $(BIN); chmod 4755 elvprsv$(COM) elvrec$(COM))
  560.     -ln $(BIN)/elvis $(BIN)/vi
  561.     -ln $(BIN)/elvis $(BIN)/ex
  562.     -ln $(BIN)/elvis $(BIN)/view
  563.     -ln $(BIN)/elvis $(BIN)/input
  564.     @echo ::: YOU STILL NEED TO EDIT THE /ETC/RC FILE, OR WHATEVER,
  565.     @echo ::: TO HAVE TEMP FILES BE PRESERVED AFTER A SYSTEM CRASH.
  566.  
  567. inst.dos: $(DUMMY)
  568.     for %a in ($(PROGS1)) do copy %a $(BIN)
  569.     for %a in ($(PROGS2)) do copy %a $(BIN)
  570.     $(CP) $(BIN)\ex$(COM) $(BIN)\vi$(COM)
  571.     $(CP) $(BIN)\ex$(COM) $(BIN)\view$(COM)
  572.     $(CP) $(BIN)\ex$(COM) $(BIN)\input$(COM)
  573.     @echo ::: YOU STILL NEED TO EDIT YOUR AUTOEXEC.BAT FILE TO
  574.     @echo ::: HAVE TEMP FILES BE PRESERVED AFTER A SYSTEM CRASH.
  575.  
  576. inst.xdos: $(DUMMY)
  577.     $(CP) $(PROGS) $(BIN)
  578.     $(CP) ex$(COM) $(BIN)/vi$(COM)
  579.     $(CP) ex$(COM) $(BIN)/view$(COM)
  580.     $(CP) ex$(COM) $(BIN)/input$(COM)
  581.     @echo ::: YOU STILL NEED TO EDIT THE AUTOEXEC.BAT FILE TO
  582.     @echo ::: HAVE TEMP FILES BE PRESERVED AFTER A SYSTEM CRASH.
  583.  
  584. inst.tos: $(DUMMY)
  585.     $(CP) $(PROGS) $(BIN)
  586.  
  587. inst.os9: $(DUMMY)
  588.     $(CP) $(PROGS) -rw=$(BIN)
  589.     chd $(BIN); attr -epenprnpw $(PROGS)
  590.     @echo ::: YOU STILL NEED TO EDIT THE /DD/STARTUP FILE, OR WHATEVER,
  591.     @echo ::: TO HAVE TEMP FILES BE PRESERVED AFTER A SYSTEM CRASH.
  592.  
  593. inst.vms: $(DUMMY)
  594.     @echo how?
  595.  
  596. ##############################################################################
  597. # clobbering is system dependent, because DOS's "copy" can't handle multiple
  598. # filenames
  599.  
  600. clobber: clean clob.$(SYS)
  601.     @echo -n
  602.  
  603. clean: $(DUMMY)
  604.     $(RM) *$(OBJ) 
  605.     $(RM) elvis?.uue 
  606.     $(RM) elvis?.sh 
  607.     $(RM) core
  608.  
  609. clob.unx clob.tos clob.os9 clob.xdos clob.vms: $(DUMMY)
  610.     $(RM) tags refs $(PROGS)
  611.  
  612. clob.dos : $(DUMMY)
  613.     for %a in ($(PROGS1)) do $(RM) %a
  614.     for %a in ($(PROGS2)) do $(RM) %a
  615.     for %a in (tags refs) do $(RM) %a
  616.     
  617. ##############################################################################
  618.  
  619. uue: elvis1.uue elvis2.uue elvis3.uue elvis4.uue elvis5.uue elvis6.uue elvis7.uue elvis8.uue
  620.  
  621. elvis1.uue: $(SRC1)
  622.     tar cf elvis1.tar $(SRC1)
  623.     compress -b13 elvis1.tar
  624.     uuencode elvis1.tar.Z <elvis1.tar.Z >elvis1.uue
  625.     $(RM) elvis1.tar*
  626.  
  627. elvis2.uue: $(SRC2)
  628.     tar cf elvis2.tar $(SRC2)
  629.     compress -b13 elvis2.tar
  630.     uuencode elvis2.tar.Z <elvis2.tar.Z >elvis2.uue
  631.     $(RM) elvis2.tar*
  632.  
  633. elvis3.uue: $(SRC3)
  634.     tar cf elvis3.tar $(SRC3)
  635.     compress -b13 elvis3.tar
  636.     uuencode elvis3.tar.Z <elvis3.tar.Z >elvis3.uue
  637.     $(RM) elvis3.tar*
  638.  
  639. elvis4.uue: $(SRC4)
  640.     tar cf elvis4.tar $(SRC4)
  641.     compress -b13 elvis4.tar
  642.     uuencode elvis4.tar.Z <elvis4.tar.Z >elvis4.uue
  643.     $(RM) elvis4.tar*
  644.  
  645. elvis5.uue: $(SRC5)
  646.     tar cf elvis5.tar $(SRC5)
  647.     compress -b13 elvis5.tar
  648.     uuencode elvis5.tar.Z <elvis5.tar.Z >elvis5.uue
  649.     $(RM) elvis5.tar*
  650.  
  651. elvis6.uue: $(SRC6)
  652.     tar cf elvis6.tar $(SRC6)
  653.     compress -b13 elvis6.tar
  654.     uuencode elvis6.tar.Z <elvis6.tar.Z >elvis6.uue
  655.     $(RM) elvis6.tar*
  656.  
  657. elvis7.uue: $(SRC7)
  658.     tar cf elvis7.tar $(SRC7)
  659.     compress -b13 elvis7.tar
  660.     uuencode elvis7.tar.Z <elvis7.tar.Z >elvis7.uue
  661.     $(RM) elvis7.tar*
  662.  
  663. elvis8.uue: $(SRC8)
  664.     tar cf elvis8.tar $(SRC8)
  665.     compress -b13 elvis8.tar
  666.     uuencode elvis8.tar.Z <elvis8.tar.Z >elvis8.uue
  667.     $(RM) elvis8.tar*
  668.  
  669. ##############################################################################
  670.  
  671. sh: elvis1.sh elvis2.sh elvis3.sh elvis4.sh elvis5.sh elvis6.sh elvis7.sh elvis8.sh
  672.  
  673. elvis1.sh: $(SRC1)
  674.     shar $(SRC1) >elvis1.sh
  675.  
  676. elvis2.sh: $(SRC2)
  677.     shar $(SRC2) >elvis2.sh
  678.  
  679. elvis3.sh: $(SRC3)
  680.     shar $(SRC3) >elvis3.sh
  681.  
  682. elvis4.sh: $(SRC4)
  683.     shar $(SRC4) >elvis4.sh
  684.  
  685. elvis5.sh: $(SRC5)
  686.     shar $(SRC5) >elvis5.sh
  687.  
  688. elvis6.sh: $(SRC6)
  689.     shar $(SRC6) >elvis6.sh
  690.  
  691. elvis7.sh: $(SRC7)
  692.     shar $(SRC7) >elvis7.sh
  693.  
  694. elvis8.sh: $(SRC8)
  695.     shar $(SRC8) >elvis7.sh
  696.