CC = cc
CFLAGS =  -O

SOURCES1 =  bm.h bm.c Execute.c Extern.h GetPatFile.c Global.c MakeDesc.c
SOURCES2 =  MakeSkip.c MatchFound.c MkDescVec.c MovResidue.c PrintLine.c 
SOURCES2 =  PutUsage.c Search.c
SOURCES =   $(SOURCES1) $(SOURCES2) $(SOURCES3)

OBJECTS1 = bm.o Execute.o GetPatFile.o Global.o MakeDesc.o MakeSkip.o
OBJECTS2 = MatchFound.o MkDescVec.o MovResidue.o Search.o PrintLine.o 
OBJECTS3 = PutUsage.o
OBJECTS =  $(OBJECTS1) $(OBJECTS2) $(OBJECTS3)

BASEFILES = $(SOURCES) Makefile README bm.p

bm :	$(OBJECTS)
	$(CC) -o bm $(CFLAGS) $(OBJECTS)

install : bm
	rm /usr/public/bm
	cp bm /usr/public/bm
	rm /usr/src/public/bm/*
	cp $(BASEFILES) /usr/src/public/bm

shar :
	/usr/public/shar $(BASEFILES) >bm.shar

man : /usr/man/manp/bm.p

/usr/man/manp/bm.p : bm.p
	rm -f /usr/man/manp/bm.p
	cp bm.p /usr/man/manp/bm.p
	man bm > /dev/null

bm.o :		bm.c bm.h Extern.h
		$(CC) -c $(CFLAGS) bm.c

PutUsage.o :	PutUsage.c bm.h 
		$(CC) -c $(CFLAGS) PutUsage.c

MakeSkip.o :	MakeSkip.c bm.h 
		$(CC) -c $(CFLAGS) MakeSkip.c

Search.o :	Search.c bm.h Extern.h
		$(CC) -c $(CFLAGS) Search.c

Execute.o :	Execute.c bm.h 
		$(CC) -c $(CFLAGS) Execute.c

MovResidue.o :	MovResidue.c bm.h Extern.h
		$(CC) -c $(CFLAGS) MovResidue.c

MatchFound.o :	MatchFound.c bm.h Extern.h
		$(CC) -c $(CFLAGS) MatchFound.c

PrintLine.o :	PrintLine.c Extern.h
		$(CC) -c $(CFLAGS) PrintLine.c

MkDescVec.o :	MkDescVec.c bm.h
		$(CC) -c $(CFLAGS) MkDescVec.c

GetPatFile.o :	GetPatFile.c bm.h
		$(CC) -c $(CFLAGS) GetPatFile.c

MakeDesc.o :	MakeDesc.c bm.h
		$(CC) -c $(CFLAGS) MakeDesc.c

Global.o :	Global.c
		$(CC) -c $(CFLAGS) Global.c

listing :
		print -i3 $(BASEFILES)

