#Variables
CC = gcc
OBJ = InitializeMatrix.o FreeMatrix.o ReadMatrix.o WriteMatrix.o MultiplyMatrices.o TransposeMatrix.o

#SubtractMatrices.o NormOfMatrix.o LUDecomposition.o FillRandomTestMatrix.o TransposeMatrix.o FreeMatrix.o

#Linking Executable
MatrixTest: MatrixTest.c $(OBJ)
	$(CC) -o MatrixTest -lm MatrixTest.c $(OBJ)
	
#Object Files using automake rules for .c files
#BookKeeping
InitializeMatrix.o: InitializeMatrix.c
FreeMatrix.o: FreeMatrix.c
TransposeMatrix.o: FreeMatrix.c
#I/O
ReadMatrix.o:  ReadMatrix.c
WriteMatrix.o: WriteMatrix.c
#Arithmetic
MultiplyMatrices.o: MultiplyMatrices.c
#Testing
#SubtractMatrices.o: SubtractMatrices.c
#NormOfMatrix.o: NormOfMatrix.c

clean:
	rm MatrixTest *.o
