# UNIX SysV Makefile for ELVIS - a clone of `vi` # # This Makefile is pretty close to what you would want for SysV UNIX. # You may wish to change the LIBS line to look like this: # # LIBS= -lterminfo # # Also, for SCO Xenix, you should add the following line: # # CC= cc -M2 -i # # Use `make` to to compile all programs # Use `make clean` to remove all object files # Use `make clobber` to remove everything except source & documentation # Use `make tags` to build new "tags" and "refs" files # Use `make tar` to produce uuencoded compressed tar archives of the source SRC= blk.c cmd1.c cmd2.c curses.c cut.c ex.c input.c main.c misc.c\ modify.c move1.c move2.c move3.c move4.c opts.c redraw.c regexp.c\ regsub.c system.c tio.c tmp.c vars.c vcmd.c vi.c OBJS= blk.o cmd1.o cmd2.o curses.o cut.o ex.o input.o main.o misc.o\ modify.o move1.o move2.o move3.o move4.o opts.o redraw.o regexp.o\ regsub.o system.o tio.o tmp.o vars.o vcmd.o vi.o recycle.o EXTRA= CFLAGS= -O -DM_SYSV LIBS= -ltermcap all: elvis ctags ref virecover elvis: $(OBJS) $(EXTRA) $(CC) -o elvis $(OBJS) $(EXTRA) $(LIBS) ctags: ctags.c $(CC) -DSORT ctags.c -o ctags ref: ref.c $(CC) ref.c -o ref virecover: virecover.c $(CC) $(CFLAGS) virecover.c -o virecover # The file cmd1.c is compiled with the extra flag -DDATE="today's date". # This date is reported when elvis is run and the :version command is given. # If you have trouble defining the date in this way, then just comment out # these two lines so cmd1.c is compiled normally. The :version command # won't report the compilation date, but that's really no big deal. cmd1.o: cmd1.c vi.h eval $(CC) -c $(CFLAGS) -DDATE=\'\"`date`\"\' cmd1.c clean: rm -f *.o *.uue core clobber: clean rm -f tags refs elvis ctags ref virecover tags refs: ctags ./ctags -r *.[ch] tar: elvis1.uue elvis2.uue elvis3.uue elvis4.uue elvis5.uue elvis6.uue\ elvis7.uue elvis8.uue elvis1.uue: tar cf elvis1.tar doc/[a-z]* cp doc/README elvis1.uue compress -b13 elvis1.tar uuencode elvis1.tar.Z <elvis1.tar.Z >>elvis1.uue rm elvis1.tar* elvis2.uue: tar cf elvis2.tar doc/[A-Z]* ctags.c ref.c virecover.c compress -b13 elvis2.tar uuencode elvis2.tar.Z <elvis2.tar.Z >elvis2.uue rm elvis2.tar* elvis3.uue: tar cf elvis3.tar Makefile.* cmd1.c cmd2.c compress -b13 elvis3.tar uuencode elvis3.tar.Z <elvis3.tar.Z >elvis3.uue rm elvis3.tar* elvis4.uue: curses.c curses.h cut.c ex.c input.c main.c tar cf elvis4.tar curses.c curses.h cut.c ex.c input.c main.c compress -b13 elvis4.tar uuencode elvis4.tar.Z <elvis4.tar.Z >elvis4.uue rm elvis4.tar* elvis5.uue: tar cf elvis5.tar misc.c modify.c move1.c move2.c move3.c move4.c blk.c recycle.c compress -b13 elvis5.tar uuencode elvis5.tar.Z <elvis5.tar.Z >elvis5.uue rm elvis5.tar* elvis6.uue: tar cf elvis6.tar opts.c regexp.c regexp.h regsub.c compress -b13 elvis6.tar uuencode elvis6.tar.Z <elvis6.tar.Z >elvis6.uue rm elvis6.tar* elvis7.uue: tar cf elvis7.tar system.c tio.c tmp.c vars.c vcmd.c compress -b13 elvis7.tar uuencode elvis7.tar.Z <elvis7.tar.Z >elvis7.uue rm elvis7.tar* elvis8.uue: tar cf elvis8.tar vi.c vi.h redraw.c compress -b13 elvis8.tar uuencode elvis8.tar.Z <elvis8.tar.Z >elvis8.uue rm elvis8.tar*