# Make file to construct the ve executable
# This file specifies code optimized for size


# Usage: "make" creates the executable, "make clean" cleans up

objects = main.o termif.o kbdif.o wordcmd.o quitcmd.o optcmd.o modeproc.o misccmd.o \
	macrocmd.o jumpcmd.o findcmd.o editcmd.o delete.o cursor.o blockutl.o blockcmd.o \
	columncm.o stacks.o fileutil.o veutils.o vedbase.o strprim.o lnklst.o graemeut.o \
	term386.o undo.o

ve386.exe : $(objects)
	gcc -o ve386.exe $(objects)
	strip -s ve386.exe
	ls -al ve386.exe
main.o : main.c 
	gcc -c -Os main.c
term386.o : term386.c
	gcc -c -Os term386.c
termif.o : termif.c
	gcc -c -Os termif.c
kbdif.o : kbdif.c
	gcc -c -Os kbdif.c
wordcmd.o : wordcmd.c
	gcc -c -Os wordcmd.c
quitcmd.o : quitcmd.c
	gcc -c -Os quitcmd.c
optcmd.o : optcmd.c
	gcc -c -Os optcmd.c
modeproc.o : modeproc.c
	gcc -c -Os modeproc.c
misccmd.o : misccmd.c
	gcc -c -Os misccmd.c
macrocmd.o : macrocmd.c
	gcc -c -Os macrocmd.c
jumpcmd.o : jumpcmd.c
	gcc -c -Os jumpcmd.c
findcmd.o : findcmd.c
	gcc -c -Os findcmd.c
editcmd.o : editcmd.c
	gcc -c -Os editcmd.c
delete.o : delete.c
	gcc -c -Os delete.c
cursor.o : cursor.c
	gcc -c -Os cursor.c
blockutl.o : blockutl.c
	gcc -c -Os blockutl.c
blockcmd.o : blockcmd.c
	gcc -c -Os blockcmd.c
columncm.o : columncm.c
	gcc -c -Os columncm.c
stacks.o : stacks.c
	gcc -c -Os stacks.c
fileutil.o : fileutil.c
	gcc -c -Os fileutil.c
veutils.o : veutils.c
	gcc -c -Os veutils.c
vedbase.o : vedbase.c
	gcc -c -Os vedbase.c
strprim.o : strprim.c
	gcc -c -Os strprim.c
lnklst.o : lnklst.c
	gcc -c -Os lnklst.c
graemeut.o : graemeut.c
	gcc -c -Os graemeut.c
undo.o : undo.c
	gcc -c -Os undo.c

install :
	cp -f ve /usr/local/bin
	chmod ugo+rx /usr/local/bin/ve
	rm -rf /usr/share/doc/ve
	mkdir /usr/share/doc/ve
	cp -f ../../ve-3.5f-user-manual.sxw /usr/share/doc/ve
	chmod ugo+r /usr/share/doc/ve/ve-3.5f-user-manual.sxw

clean :
	rm /rf ve386.exe $(objects)
