TESTS	= cent-buf.mpc cent-net.mpc dnet-test.mpc expr-test.mpc\
	  gauss.mpc gauss1.mpc matmul.mpc matmulv.mpc mnorm.mpc mxm.mpc\
	  mxm-lib.mpc mxm-par.mpc mxm-parnet.mpc psearch1.mpc psearch2.mpc\
	  sum-vec.mpc vecsum.mpc
CS	= cent-buf.c cent-net.c dnet-test.c expr-test.c\
	  gauss.c gauss1.c matmul.c matmulv.c mnorm.c mxm.c mxm-lib.c\
	  mxm-par.c mxm-parnet.c psearch1.c psearch2.c sum-vec.c\
	  vecsum.c
OBJS	= cent-buf.o cent-net.o dnet-test.o expr-test.o gauss.o gauss1.o \
	  matmul.o matmulv.o mnorm.o mxm.o mxm-lib.o mxm-par.o mxm-parnet.o\
	  psearch1.o psearch2.o sum-vec.o vecsum.o

MPCFLAGS = -I../h

all:	$(OBJS)
	@echo; echo "Cleaning 'selftest'"
	cd selftest && $(MAKE) clean
	@echo; echo "Populating 'selftest' and making mpcc1-compiler"
	cp ../h/* selftest/h
	cd selftest && $(MAKE) $(MFLAGS) TARGET=$(TARGET) MPICC=$(MPICC)
	@echo;
	cd selftest && $(MAKE) test

install:
	cp $(TESTS) $(SRC)/mpc
	chmod u+w,a+r $(SRC)/mpc/*.mpc

run_test:
	cd run_tests && sh execute

clean:
	cd selftest && $(MAKE) clean
	rm -f selftest/h/*.h *.mpcpp *.c *.o *% *.*% core

cent-buf.o:	cent-buf.c
cent-net.o:	cent-net.c
dnet-test.o:	dnet-test.c
expr-test.o:	expr-test.c
gauss.o:	gauss.c
gauss1.o:	gauss1.c
matmul.o:	matmul.c
matmulv.o:	matmulv.c
mnorm.o:	mnorm.c
mxm.o:		mxm.c
mxm-lib.o:	mxm-lib.c
mxm-par.o:	mxm-par.c
mxm-parnet.o:	mxm-parnet.c
psearch1.o:	psearch1.c
psearch2.o:	psearch2.c
sum-vec.o:	sum-vec.c
vecsum.o:	vecsum.c

.SUFFIXES:	.mpc .c .o

.mpc.c:
	../mpcc $(MPCFLAGS) $*.mpc

.c.o:
	$(MPICC) $(MPCFLAGS) $(SF) $(OPT) -c $*.c
