# ================================================================ # Computer Programs for basic matrix operations in Part 4 of Book. # # Matrix Package Code. # # To compile all of the programs, type: make all # To compile individual programs, type: make backsub # make eigen # make ..... # # Written By: M. Austin September 1996 # ================================================================ .c.o: gcc -c -O $< MISC = miscellaneous.o MATRIXOBJS = matrix.o matrix_indirect.o matrix_skyline.o \ vector.o vector_double.o \ vector_integer.o PROG1 = prog_backsub.o PROG2 = prog_eigen.o PROG3 = prog_gauss.o PROG4 = prog_householder.o PROG5 = prog_ludecomp.o PROG6 = prog_matrix1.o PROG7 = prog_matrix2.o PROG8 = prog_matrix3.o PROG9 = prog_matrix4.o PROG10 = prog_matrix_tp.o PROG11 = prog_skyline.o PROG12 = prog_subspace.o all:: backsub eigen gauss house lu matrix1 matrix2 matrix3 matrix4 \ matrix5 matrixtp skyline subsp # Compile Individual C Programs. backsub: $(MATRIXOBJS) $(MISC) $(PROG1) gcc $(MATRIXOBJS) $(MISC) $(PROG1) -lm -o BACKSUB eigen: $(MATRIXOBJS) $(MISC) $(PROG2) gcc $(MATRIXOBJS) $(MISC) $(PROG2) -lm -o EIGEN gauss: $(MATRIXOBJS) $(MISC) $(PROG3) gcc $(MATRIXOBJS) $(MISC) $(PROG3) -lm -o GAUSS house: $(MATRIXOBJS) $(MISC) $(PROG4) gcc $(MATRIXOBJS) $(MISC) $(PROG4) -lm -o HOUSE lu: $(MATRIXOBJS) $(MISC) $(PROG5) gcc $(MATRIXOBJS) $(MISC) $(PROG5) -lm -o LU matrix1: $(MISC) $(PROG6) gcc $(MISC) $(PROG6) -lm -o MATRIX1 matrix2: $(MISC) $(PROG7) gcc $(MISC) $(PROG7) -lm -o MATRIX2 matrix3: $(MATRIXOBJS) $(MISC) $(PROG8) gcc $(MATRIXOBJS) $(MISC) $(PROG8) -lm -o MATRIX3 matrix4: $(MATRIXOBJS) $(MISC) $(PROG9) gcc $(MATRIXOBJS) $(MISC) $(PROG9) -lm -o MATRIX4 matrixtp: $(MATRIXOBJS) $(MISC) $(PROG10) gcc $(MATRIXOBJS) $(MISC) $(PROG10) -lm -o MATRIXTP skyline: $(MATRIXOBJS) $(MISC) $(PROG11) gcc $(MATRIXOBJS) $(MISC) $(PROG11) -lm -o SKYLINE subsp: $(MATRIXOBJS) $(MISC) $(PROG12) gcc $(MATRIXOBJS) $(MISC) $(PROG12) -lm -o SUBSPACE # Remove all object files and program output file. clean: /bin/rm -f *.o /bin/rm -f output-* /bin/rm -f BACKSUB /bin/rm -f EIGEN /bin/rm -f GAUSS /bin/rm -f HOUSE /bin/rm -f LU /bin/rm -f MATRIX* /bin/rm -f SKYLINE /bin/rm -f SUBSPACE