# combined Makefile for ELVIS - a clone of `vi` # # After editing this Makefile as described below, you should... # # Use `make` to compile all programs # Use `make install` to copy the programs to the BIN directory # Use `make clean` to remove all object files # Use `make clobber` to remove everything except source & documentation # Use `make uue` to produce uuencoded compressed tar archives of the source # Use `make sh` to produce shar archives of the source # # Several groups of Makefile settings are included below. Choose *ONE* group # of settings for your particular system, and leave the others commented out. # The meanings of these settings are: # OBJ filename extension for unlinked object files -- usually .o # EXE filename extension for elvis executable file -- .exe, .tpp or null # COM filename extension for executable support files -- .com, .tpp or null # EXTRA version-specific object files used in elvis # EXTRA2 version-specific object files used in elvis & elvrec # LIBS any special libraries, such as "-ltermcap" # BIN directory where executables should be installed # CC the C compiler command, possibly with "memory model" flags # CFLAGS compiler flags used to select compile-time options # LNK the linker command needed to link OBJ files (if not cc) # LFLAGS linker flags used to select link-time options # SMALL flag for special small memory model compilation -- usually null # LARGE flag for special large memory model compilation -- usually null # OF link flag to control the output file's name -- usually -o<space> # RF flag used to denote "compile but don't link" -- usually -c # PROGS the list of all programs # CHMEM any extra commands to be run after ELVIS is linked # SORT if the "tags" file must be sorted, then SORT=-DSORT # RM the name of a program that deletes files # CP name of a program that copies files -- copy or cp, usually # SYS type of system & compiler: unx/tos/os9/dos (maybe vms?) # DUMMY usually nothing, but OS9 needs "dummy" # CFG name of compiler configuration file -- usually null #---- These settings are recommended for System-V UNIX and SCO XENIX-386 ---- #OBJ= .o #EXE= #COM= #EXTRA= unix$(OBJ) #EXTRA2= #LIBS= -ltermcap #BIN= /usr/local/bin #CC= cc #CFLAGS= -DM_SYSV -O -DNO_SHIFT_FKEYS #SMALL= #LARGE= #OF= -o "" #RF= -c #PROGS= elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) \ # elvprsv$(COM) #CHMEM= #SORT= -DSORT #RM= rm -f #CP= cp #SYS= unx #DUMMY= #CFG= #---- These settings are recommended for SCO XENIX-286 ---- #OBJ= .o #EXE= #COM= #EXTRA= unix$(OBJ) #EXTRA2= #LIBS= -ltcap #BIN= /usr/local/bin #CC= cc #CFLAGS= -Ox -DCS_IBMPC #SMALL= #LARGE= -M2m #OF= -o "" #RF= -c #PROGS= elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) \ # elvprsv$(COM) #CHMEM= #SORT= -DSORT #RM= rm -f #CP= cp #SYS= unx #DUMMY= #CFG= ###### compilation rule for Xenix-286 #.c.o: # $(CC) $(LARGE) $(CFLAGS) $(RF) $< #---- These settings are recommended for BSD 4.3 UNIX and SunOS ---- #OBJ= .o #EXE= #COM= #EXTRA= unix$(OBJ) #EXTRA2= #LIBS= -ltermcap #BIN= /usr/local/bin #CC= cc #CFLAGS= -Dbsd -O #SMALL= #LARGE= #OF= -o "" #RF= -c #PROGS= elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) elvprsv$(COM) #CHMEM= #SORT= -DSORT #RM= rm -f #CP= cp #SYS= unx #DUMMY= #CFG= #---- These settings are recommended for Coherent 4.0 ---- #OBJ=.o #EXE= #COM= #EXTRA= unix$(OBJ) tinyprnt$(OBJ) #EXTRA2= #LIBS= -ltermcap #BIN= /usr/bin #CC= cc #CFLAGS= -O -VSUVAR -DNO_S5WINSIZE #SMALL= #LARGE= #OF= -o "" #RF= -c #PROGS= elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) \ # elvprsv$(COM) #CHMEM= #SORT= #RM= rm -f #CP= cp #SYS= unx #DUMMY= #CFG= #---- These settings are recommended for Coherent 3.x ---- #OBJ=.o #EXE= #COM= #EXTRA= unix$(OBJ) tinyprnt$(OBJ) #EXTRA2= #LIBS= -lterm #BIN= /usr/bin #CC= cc #CFLAGS= -O -DCOHERENT -VSUVAR -DCRUNCH -DNO_CHARATTR -DNO_CURSORSHAPE \ # -DNO_DIGRAPH -DNO_MKEXRC -DNO_POPUP -DNO_FKEYS -DNO_ABBR -DNO_TAGSTACK #SMALL= #LARGE= #OF= -o "" #RF= -c #EVAL= eval #PROGS= elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) \ # elvprsv$(COM) #CHMEM= fixstack 2000 elvis$(EXE) #SORT= #RM= rm -f #CP= cp #SYS= unx #DUMMY= #CFG= #---- These settings are recommended for Minix-ST ---- #OBJ= .o #EXE= #COM= #EXTRA= unix$(OBJ) #EXTRA2= #LIBS= #BIN= /usr/bin #CC= cc ##CC= gcc -s #CFLAGS= #SMALL= #LARGE= #OF= -o "" #RF= -c #PROGS= elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) \ # elvprsv$(COM) #CHMEM= chmem =18000 elvis$(EXE) #SORT= #RM= rm -f #CP= cp #SYS= unx #DUMMY= #CFG= #---- These settings are recommended for Minix-PC ---- #OBJ= .s #EXE= #COM= #EXTRA= tinytcap$(OBJ) unix$(OBJ) tinyprnt$(OBJ) #EXTRA2= #LIBS= #BIN= /usr/bin #CC= cc -i #CFLAGS= -O -DCRUNCH \ # -DNO_MKEXRC -DNO_CURSORSHAPE -DNO_CHARATTR -DNO_SHOWMODE \ # -DNO_MODELINE -DNO_OPTCOLS -DNO_DIGRAPH -DNO_EXTENSIONS \ # -DNO_ERRLIST -DNO_FKEY -DNO_VISIBLE -DNO_COLOR -DNO_POPUP \ # -DNO_TAGSTACK ###(not -NO_AT -DNO_SENTENCE -DNO_ABBR -DNO_RECYCLE -DNO_MAGIC -DNO_CHARSEARCH) #SMALL= #LARGE= #OF= -o "" #RF= -c #PROGS= elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) \ # elvprsv$(COM) #CHMEM= #SORT= #RM= rm -f #CP= cp #SYS= unx #DUMMY= #CFG= #---- These settings are recommended for Amiga port done using Aztec 5.2b ---- # For AmigaDOS 2.04, you're all set! Its the default target! #OBJ= .o #EXE= #COM= #EXTRA= amiga$(OBJ) amitty$(OBJ) amisysio$(OBJ) #EXTRA2= tinytcap$(OBJ) #LIBS= -lc #BIN= sys:utilities #CC= cc #CFLAGS= -sob -Damiga #LNK= ln #LFLAGS= #SMALL= #LARGE= #OF= -o #RF= #PROGS1= elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) fmt$(COM) #PROGS2= elvprsv$(COM) ex$(COM) vi$(COM) view$(COM) input$(COM) #PROGS= $(PROGS1) $(PROGS2) #CHMEM= #SORT= #RM= delete #CP= copy #SYS= ami #DUMMY= #CFG= #---- These settings are recommended for MS-DOS + MS-C + NDMAKE ---- #OBJ= .obj #EXE= .exe #COM= .exe # .com might work, try it #EXTRA= pc$(OBJ) sysdos$(OBJ) tinytcap$(OBJ) #EXTRA2= #LIBS= #BIN= c:\dos #CC= cl #CFLAGS= -O -DCS_IBMPC -DCS_SPECIAL -DINTERNAL_TAGS #SMALL= /A0c #LARGE= /A0l #OF= -o #RF= -c #PROGS1= elvis$(EXE) ex$(COM) ctags$(COM) ref$(COM) elvrec$(COM) #PROGS2= wildcard$(COM) fmt$(COM) elvprsv$(COM) #PROGS= $(PROGS1) $(PROGS2) #CHMEM= #SORT= #RM= del #CP= copy #SYS= dos #DUMMY= #CFG= ###### compilation rule for MS-C #.c.obj: # $(CC) $(LARGE) $(CFLAGS) $(RF) $< ##---- These settings are recommended for MS-DOS + TURBO/BORLAND C ---- ## CFG: name of the compiler config and response files ## TC_LIB & TC_INC: location of standard libraries and header files. #OBJ= .obj #EXE= .exe #COM= .com #EXTRA= pc$(OBJ) sysdos$(OBJ) tinytcap$(OBJ) #EXTRA2= #LIBS=@borland.rsp #BIN= c:\bin #CFG= borland.cfg borland.rsp #CC= bcc #TC_LIB= c:\bcc\lib #TC_INC= c:\bcc\include #CFLAGS= +borland.cfg ## uncomment next line iff using bcc, and you want to use pre-compiled headers #HDRS= -H -H=borland.hdr ## uncomment next line to use med memory model for elvis ##CRNCH= -DCRUNCH -mm #TC_CFLAGS1= -ml -O -f- -w- -v -vi- -G- -DCS_IBMPC -DCS_SPECIAL -DINTERNAL_TAGS #TC_CFLAGS2= $(HDRS) $(CRNCH) -I$(TC_INC) -L$(TC_LIB) ## extra flags for compiling support programs #SMALL= -mt -lt -H- -v- #LARGE= ## extra flags for linking elvis (strip symbols) #EFLAGS= -v- #OF= -e #RF= -c #PROGS1= elvis$(EXE) ex$(COM) ctags$(COM) ref$(COM) elvrec$(COM) #PROGS2= wildcard$(COM) fmt$(COM) elvprsv$(COM) #PROGS= $(PROGS1) $(PROGS2) #CHMEM= #SORT= #RM= del #CP= copy #SYS= dos #DUMMY= ##source file compilation rule: #.c.obj: # $(CC) $(CFLAGS) $(RF) {$< } #---- These settings can make DOS executables using the SCO UNIX compiler #OBJ= .o #EXE= .exe #COM= .exe #EXTRA= pc$(OBJ) sysdos$(OBJ) tinytcap$(OBJ) #EXTRA2= #LIBS= #BIN= a: #CC= cc -dos -F 4000 #CFLAGS= -DXDOS -O -DCS_IBMPC -DCS_SPECIAL -DINTERNAL_TAGS #SMALL= -M0s #LARGE= -M0l #OF= -o "" #RF= -c #PROGS1= elvis$(EXE) ex$(COM) ctags$(COM) ref$(COM) elvrec$(COM) #PROGS2= wildcard$(COM) fmt$(COM) elvprsv$(COM) #PROGS= $(PROGS1) $(PROGS2) #CHMEM= #SORT= #RM= rm -f #CP= doscp -r #SYS= xdos #DUMMY= #CFG= ###### compilation rule for UNIX->DOS cross compiler #.c.o: # $(CC) $(LARGE) $(CFLAGS) -c $< #--- These settings are recommended for Atari TOS + Mark Williams C or Gnu C ---- #OBJ= .o #EXE= .ttp #COM= .ttp #EXTRA= sysdos$(OBJ) tinytcap$(OBJ) #EXTRA2= atari$(OBJ) #LIBS= #BIN= c:\ # #CC= cc -VPEEP ##CC= gcc -s #CFLAGS= -O -DCS_IBMPC -DCS_SPECIAL #SMALL= #LARGE= #OF= -o #RF= -c #PROGS= elvis$(EXE) ctags$(COM) ref$(COM) elvrec$(COM) wildcard$(COM) \ # shell$(COM) fmt$(COM) elvprsv$(COM) #CHMEM= @echo -n #SORT= #RM= rm -f #CP= copy #SYS= tos #DUMMY= #CFG= #---- These settings are recommended for OS-9/68K V2.3 ---- #OBJ= .r #EXE= #COM= #EXTRA= tinyprnt$(OBJ) #EXTRA2= osk$(OBJ) #LIBS= -l=/dd/lib/termlib.l #BIN= /dd/usr/cmds #CC= cc #ODIR= /dd/usr/src/elvis #CFLAGS= -gq -m=2 -DNO_CURSORSHAPE #SMALL= #LARGE= #OF= -f=$(ODIR)/ #RF= -r #PROGS= elvis$(EXE) vi$(COM) view$(COM) input$(COM) ctags$(COM) ref$(COM) \ # elvrec$(COM) fmt$(COM) elvprsv$(COM) #PROGS1= #PROGS2= #CHMEM= touch elvis$(EXE) #SORT= #RM= del *.stb *.dbg #CP= copy #SYS= os9 #DUMMY= dummy #CFG= #TC_CFLAGS1= #TC_CFLAGS2= #EFLAGS= #LNK= #LFLAGS= ##---- These settings probably won't work for VAX/VMS, but they might ---- #OBJ= .obj #EXE= .exe #COM= .exe #EXTRA= tinytcap$(OBJ) #EXTRA2= vmsio$(OBJ) #LIBS= #BIN #CC= cc #CFLAGS= /define=NO_CURSORSHAPE /define=INTERNAL_TAGS #SMALL= #LARGE= #OF= /exe= #RF= #PROGS= elvis.exe elvprsv.exe elvrec.exe ctags.exe ref.exe #CHMEM= #SORT= #RM= del #CP= copy #SYS= vms #DUMMY= #CFG= vmsopt.opt # ##compilation rules #.exe.c: # $(CC) $<.c # link $(OF)$<.exe,vmslink/opt #.obj.c: # $(CC) $(CFLAGS) $<.c ########################################################################### ########################################################################### ### ### ### The rest of this Makefile contains no user-serviceable parts ### ### ### ########################################################################### ########################################################################### OBJS1= blk$(OBJ) cmd1$(OBJ) cmd2$(OBJ) ctype$(OBJ) curses$(OBJ) cut$(OBJ) OBJS2= ex$(OBJ) input$(OBJ) main$(OBJ) misc$(OBJ) modify$(OBJ) move1$(OBJ) OBJS3= move2$(OBJ) move3$(OBJ) move4$(OBJ) move5$(OBJ) opts$(OBJ) recycle$(OBJ) OBJS4= redraw$(OBJ) regexp$(OBJ) regsub$(OBJ) system$(OBJ) tio$(OBJ) tmp$(OBJ) OBJS5= vars$(OBJ) vcmd$(OBJ) vi$(OBJ) OBJS= $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5) ALIAS= alias$(OBJ) SRC1= Elvis.lnk Elvis.mak Elvis.prj Makefile.mix alias.c atari.c \ ctags.c pc.c ref.c shell.c sysdos.c SRC2= elvrec.c wildcard.c fmt.c profile.sh osk.c osk.h elvprsv.c unix.c \ blk.c config.h instman.sh SRC3= cmd1.c cmd2.c curses.c SRC4= curses.h cut.c ex.c input.c main.c misc.c SRC5= modify.c move1.c move2.c move3.c move4.c move5.c opts.c recycle.c redraw.c SRC6= regexp.c regexp.h regsub.c tinytcap.c tio.c tmp.c SRC7= system.c vars.c vcmd.c vi.c vi.h tinyprnt.c SRC8= ctype.c ctype.h borland.h novice.rc prsvdos.c prsvunix.c \ vmsbuild.com vmsio.c vmslink.opt vmsread.me vmssetup.com vmswild.c \ amiga.c amiprsv.c amistat.h amisysio.c amitty.c amiwild.c ########################################################################### all: $(PROGS) @echo done. elvis$(EXE): linkelv.$(SYS) @echo "elvis linked." ctags$(COM): $(CFG) ctags.c wildcard.c $(CC) $(CFLAGS) $(SMALL) $(SORT) $(OF)ctags$(COM) ctags.c $(EXTRA2) ref$(COM): $(CFG) ref.c $(CC) $(CFLAGS) $(SMALL) $(OF)ref$(COM) ref.c elvrec$(COM): $(CFG) elvrec.c $(CC) $(CFLAGS) $(SMALL) $(OF)elvrec$(COM) elvrec.c $(EXTRA2) ex$(COM): linkex.$(SYS) @echo "ex done." vi$(COM): linkvi.$(SYS) @echo "vi done." view$(COM): linkview.$(SYS) @echo "view done." input$(COM): linkinput.$(SYS) @echo "input done." shell$(COM): $(CFG) shell.c $(CC) $(CFLAGS) $(SMALL) $(OF)shell$(COM) shell.c wildcard$(COM): $(CFG) wildcard.c ctype.c $(CC) $(CFLAGS) $(SMALL) $(OF)wildcard$(COM) wildcard.c fmt$(COM): $(CFG) fmt.c $(CC) $(CFLAGS) $(SMALL) $(OF)fmt$(COM) fmt.c $(EXTRA2) elvprsv$(COM): $(CFG) elvprsv.c amiprsv.c prsvunix.c prsvdos.c wildcard.c ctype.c $(CC) $(CFLAGS) $(SMALL) $(OF)elvprsv$(COM) elvprsv.c ############################################################################## # "It all depends..." $(OBJS): vi.h curses.h config.h regexp.h ctype.h ############################################################################## # The way to link elvis is system dependent, and maybe compiler dependent too. # elvis executable compilation rule for: AmigaDOS linkelv.ami: $(OBJS) $(EXTRA) $(EXTRA2) $(LNK) $(LFLAGS) $(OF)elvis$(EXE) $(OBJS) $(EXTRA) $(EXTRA2) $(LIBS) $(CHMEM) @touch $@ # elvis executable compilation rule for: all unix, os9, tos, msc dos linkelv.unx linkelv.tos linkelv.os9 linkelv.cl linkelv.xdos: \ $(OBJS) $(EXTRA) $(EXTRA2) $(CC) $(LARGE) $(CFLAGS) $(OF)elvis$(EXE) $(OBJS) $(EXTRA) $(EXTRA2) $(LIBS) $(CHMEM) @touch $@ linkelv.dos: linkelv.$(CC) # elvis executable compilation rule for: borland tcc, bcc linkelv.bcc linkelv.tcc: $(CFG) $(OBJS) $(EXTRA) $(EXTRA2) $(CC) $(CFLAGS) $(LIBS) @echo done > linkelv.$(CC) linkelv.vms: $(OBJS) $(EXTRA) $(EXTRA2) link$(OF)elvis.exe main,$(CFG)/opt ############################################################################## # borland/turbo c config files borland.cfg: $(DUMMY) echo $(TC_CFLAGS1)> borland.cfg echo $(TC_CFLAGS2)>> borland.cfg borland.rsp: $(DUMMY) echo $(EFLAGS) $(OF)elvis$(EXE) > borland.rsp echo $(OBJS1)>> borland.rsp echo $(OBJS2)>> borland.rsp echo $(OBJS3)>> borland.rsp echo $(OBJS4)>> borland.rsp echo $(OBJS5)>> borland.rsp echo $(EXTRA)>> borland.rsp ############################################################################## # elvis executable compilation rule for: AmigaDOS linkex.ami: alias.o $(LNK) $(LFLAGS) $(OF)ex$(EXE) alias.o $(LIBS) linkex.unx linkex.tos linkex.xdos linkex.dos linkex.vms: $(CFG) alias.c $(CC) $(CFLAGS) $(SMALL) $(OF)ex$(COM) alias.c linkex.os9: $(DUMMY) @echo done >/nil linkvi.ami linkvi.unx linkvi.tos linkvi.xdos linkvi.dos linkvi.vms: ex$(COM) $(CP) ex$(COM) vi$(COM) linkvi.os9: alias.r $(CC) $(CFLAGS) $(OF)vi$(COM) alias.r @touch $@ linkview.ami linkview.unx linkview.tos linkview.xdos linkview.dos linkview.vms: ex$(COM) $(CP) ex$(COM) view$(COM) linkview.os9: alias.r $(CC) $(CFLAGS) $(OF)view$(COM) alias.r @touch $@ linkinput.ami linkinput.unx linkinput.tos linkinput.xdos linkinput.dos linkinput.vms: ex$(COM) $(CP) ex$(COM) input$(COM) linkinput.os9: alias.r $(CC) $(CFLAGS) $(OF)input$(COM) alias.r @touch $@ ############################################################################## # installation is system-dependent install: $(PROGS) inst.$(SYS) @echo Installation complete. inst.ami: $(DUMMY) MakeDir $(BIN)/Elvis Assign Elvis: $(BIN)/Elvis $(CP) $(PROGS) Elvis: @echo ::: YOU STILL NEED TO EDIT THE S:STARTUP-SEQUENCE FILE, @echo ::: TO HAVE TEMP FILES PRESERVED AFTER A SYSTEM CRASH. inst.unx: $(DUMMY) $(CP) $(PROGS) $(BIN) (cd $(BIN); chmod 755 $(PROGS)) (cd $(BIN); chown bin $(PROGS)) (cd $(BIN); chown root elvprsv$(COM) elvrec$(COM)) (cd $(BIN); chmod 4755 elvprsv$(COM) elvrec$(COM)) -ln $(BIN)/elvis $(BIN)/vi -ln $(BIN)/elvis $(BIN)/ex -ln $(BIN)/elvis $(BIN)/view -ln $(BIN)/elvis $(BIN)/input test -d /usr/preserve || (mkdir /usr/preserve; chmod 755 /usr/preserve) @if test -d /etc/rc2.d; then \ echo $(BIN)/elvprsv /tmp/elv* >/etc/rc2.d/S03elvis; \ else \ echo "::: YOU STILL NEED TO EDIT THE /ETC/RC FILE, OR WHATEVER,"; \ echo "::: TO HAVE TEMP FILES BE PRESERVED AFTER A SYSTEM CRASH."; \ fi sh instman.sh $(PROGS) inst.dos: $(DUMMY) for %a in ($(PROGS1)) do copy %a $(BIN) for %a in ($(PROGS2)) do copy %a $(BIN) $(CP) $(BIN)\ex$(COM) $(BIN)\vi$(COM) $(CP) $(BIN)\ex$(COM) $(BIN)\view$(COM) $(CP) $(BIN)\ex$(COM) $(BIN)\input$(COM) -mkdir c:\preserve -mkdir c:\tmp @echo ::: YOU STILL NEED TO EDIT YOUR AUTOEXEC.BAT FILE TO @echo ::: HAVE TEMP FILES BE PRESERVED AFTER A SYSTEM CRASH. inst.xdos: $(DUMMY) $(CP) $(PROGS) $(BIN) $(CP) ex$(COM) $(BIN)/vi$(COM) $(CP) ex$(COM) $(BIN)/view$(COM) $(CP) ex$(COM) $(BIN)/input$(COM) @echo ::: YOU WILL NEED TO EDIT THE AUTOEXEC.BAT FILE TO @echo ::: HAVE TEMP FILES BE PRESERVED AFTER A SYSTEM CRASH. inst.tos: $(DUMMY) $(CP) $(PROGS) $(BIN) inst.os9: $(DUMMY) $(CP) $(PROGS) -rw=$(BIN) chd $(BIN); attr -epenprnpw $(PROGS) @echo ::: YOU STILL NEED TO EDIT THE /DD/STARTUP FILE, OR WHATEVER, @echo ::: TO HAVE TEMP FILES BE PRESERVED AFTER A SYSTEM CRASH. inst.vms: $(DUMMY) @echo how? ############################################################################## # clobbering is system dependent, because DOS's "copy" can't handle multiple # filenames clobber: clean clob.$(SYS) @echo -n clean: $(DUMMY) $(RM) *$(OBJ) $(RM) elvis?.uue $(RM) elvis?.sh $(RM) core clob.unx clob.tos clob.os9 clob.xdos clob.vms: $(DUMMY) $(RM) tags refs $(PROGS) clob.dos : $(DUMMY) for %a in ($(PROGS1)) do $(RM) %a for %a in ($(PROGS2)) do $(RM) %a for %a in (tags refs) do $(RM) %a ############################################################################## uue: elvis1.uue elvis2.uue elvis3.uue elvis4.uue elvis5.uue elvis6.uue elvis7.uue elvis8.uue elvis1.uue: $(SRC1) tar cf elvis1.tar $(SRC1) compress -b13 elvis1.tar uuencode elvis1.tar.Z <elvis1.tar.Z >elvis1.uue $(RM) elvis1.tar* elvis2.uue: $(SRC2) tar cf elvis2.tar $(SRC2) compress -b13 elvis2.tar uuencode elvis2.tar.Z <elvis2.tar.Z >elvis2.uue $(RM) elvis2.tar* elvis3.uue: $(SRC3) tar cf elvis3.tar $(SRC3) compress -b13 elvis3.tar uuencode elvis3.tar.Z <elvis3.tar.Z >elvis3.uue $(RM) elvis3.tar* elvis4.uue: $(SRC4) tar cf elvis4.tar $(SRC4) compress -b13 elvis4.tar uuencode elvis4.tar.Z <elvis4.tar.Z >elvis4.uue $(RM) elvis4.tar* elvis5.uue: $(SRC5) tar cf elvis5.tar $(SRC5) compress -b13 elvis5.tar uuencode elvis5.tar.Z <elvis5.tar.Z >elvis5.uue $(RM) elvis5.tar* elvis6.uue: $(SRC6) tar cf elvis6.tar $(SRC6) compress -b13 elvis6.tar uuencode elvis6.tar.Z <elvis6.tar.Z >elvis6.uue $(RM) elvis6.tar* elvis7.uue: $(SRC7) tar cf elvis7.tar $(SRC7) compress -b13 elvis7.tar uuencode elvis7.tar.Z <elvis7.tar.Z >elvis7.uue $(RM) elvis7.tar* elvis8.uue: $(SRC8) tar cf elvis8.tar $(SRC8) compress -b13 elvis8.tar uuencode elvis8.tar.Z <elvis8.tar.Z >elvis8.uue $(RM) elvis8.tar* ############################################################################## sh: elvis1.sh elvis2.sh elvis3.sh elvis4.sh elvis5.sh elvis6.sh elvis7.sh elvis8.sh elvis1.sh: $(SRC1) shar $(SRC1) >elvis1.sh elvis2.sh: $(SRC2) shar $(SRC2) >elvis2.sh elvis3.sh: $(SRC3) shar $(SRC3) >elvis3.sh elvis4.sh: $(SRC4) shar $(SRC4) >elvis4.sh elvis5.sh: $(SRC5) shar $(SRC5) >elvis5.sh elvis6.sh: $(SRC6) shar $(SRC6) >elvis6.sh elvis7.sh: $(SRC7) shar $(SRC7) >elvis7.sh elvis8.sh: $(SRC8) shar $(SRC8) >elvis7.sh