CC=cc
CFLAGS=-g

PROGS=elim mult iden rand irand ginv smult add

all: ${PROGS}

elim: elim.o matfuncs.o
	${CC} ${CFLAGS} -o $@ elim.o matfuncs.o

mult: mult.o matfuncs.o
	${CC} ${CFLAGS} -o $@ mult.o matfuncs.o

iden: iden.o matfuncs.o
	${CC} ${CFLAGS} -o $@ iden.o matfuncs.o

rand: rand.o matfuncs.o
	${CC} ${CFLAGS} -o $@ rand.o matfuncs.o

irand: irand.o matfuncs.o
	${CC} ${CFLAGS} -o $@ irand.o matfuncs.o

ginv: ginv.o matfuncs.o
	${CC} ${CFLAGS} -o $@ ginv.o matfuncs.o

smult: smult.o matfuncs.o
	${CC} ${CFLAGS} -o $@ smult.o matfuncs.o

add: add.o matfuncs.o
	${CC} ${CFLAGS} -o $@ add.o matfuncs.o

clean:
	rm -f *.o core a.out errs makeout ${PROGS}

add.o: add.c matfuncs.h
elim.o: elim.c matfuncs.h
ginv.o: ginv.c matfuncs.h
iden.o: iden.c matfuncs.h
irand.o: irand.c matfuncs.h
matfuncs.o: matfuncs.c matfuncs.h
mult.o: mult.c matfuncs.h
rand.o: rand.c matfuncs.h
smult.o: smult.c matfuncs.h
