#$@ output
#$< input
CC=gcc
DEBUG=-ggdb
CFLAGS=$(DEBUG) -Wall
LFLAGS= -lm
#$(CFLAGS)
#TARGET: dependancies
#tab	command1
#tab	command2

Executable1= vectordemo
Executable2= matrixdemo
Library = libvecmat.a
Header = libvecmat.h
Ofiles1= main.o  craftvec.o destroyvec.o readvec.o printvec.o craftvecEZ.o
Ofiles2= main2.o craftmat.o destroymat.o readmat.o printmat.o craftmatEZ.o
Ofiles3= craftvec.o destroyvec.o readvec.o printvec.o craftvecEZ.o \
	 craftmat.o destroymat.o readmat.o printmat.o craftmatEZ.o

all:$(Executable1) $(Executable2) $(Library)

$(Ofiles1): $(Header)
$(Ofiles2): $(Header)

.c: $(Header)
	$(CC) $(CFLAGS) $@.c -c -o $@

$(Executable1) : $(Ofiles1) $(Header)
	$(CC) $(CFLAGS) $(LFLAGS) -o $@ $(Ofiles1)

$(Executable2) : $(Ofiles2) $(Header)
	$(CC) $(CFLAGS) $(LFLAGS) -o $@ $(Ofiles2)

$(Library) : $(Ofiles3) $(Header)
	ar r $(Library) $(Ofiles3)
	ranlib $(Library)

clean:
	rm -f $(Executable1) $(Executable2) $(Ofiles1) $(Ofiles2) $(Library)

#demo:numprep.c $(Executable)
#	gcc numprep.c -o numberprep10M
#	./numberprep10M > num10M;./Pastore_Hw9 < num10M > output;
#	tail -n 5 output > output2;
#	cat output2;
#	rm -i numberprep10M num10M output output2;
	


