HEADERS=triangle.h linalg.h queue.h #SPECIAL_OPTIONS=-O0 -g -D_DEBUG #SPECIAL_OPTIONS=-O3 -pg -funroll-loops -fno-inline SPECIAL_OPTIONS=-O3 -flto -funroll-loops -Winline #SPECIAL_OPTIONS= OPTIONS=-m64 -march=native -mtune=native -std=gnu99 -D_GNU_SOURCE $(SPECIAL_OPTIONS) all: discreteness singular_values element_path limit_set hyperbolic singular_values: singular_values.o triangle.o linalg.o gcc $(OPTIONS) -o singular_values triangle.o linalg.o singular_values.o -lm -lgsl -lcblas discreteness: discreteness.o triangle.o linalg.o gcc $(OPTIONS) -o discreteness triangle.o linalg.o discreteness.o -lm -lgsl -lcblas element_path: element_path.o linalg.o gcc $(OPTIONS) -o element_path element_path.o linalg.o -lm -lgsl -lcblas limit_set: limit_set.o linalg.o triangle.o gcc $(OPTIONS) -o limit_set limit_set.o linalg.o triangle.o -lm -lgsl -lcblas hyperbolic: hyperbolic.o triangle.o linalg.o gcc $(OPTIONS) -o hyperbolic hyperbolic.o triangle.o linalg.o -lm -lgsl -lcblas singular_values.o: singular_values.c $(HEADERS) gcc $(OPTIONS) -c singular_values.c discreteness.o: discreteness.c $(HEADERS) gcc $(OPTIONS) -c discreteness.c element_path.o: element_path.c $(HEADERS) gcc $(OPTIONS) -c element_path.c linalg.o: linalg.c $(HEADERS) gcc $(OPTIONS) -c linalg.c triangle.o: triangle.c $(HEADERS) gcc $(OPTIONS) -c triangle.c limit_set.o: limit_set.c $(HEADERS) gcc $(OPTIONS) -c limit_set.c hyperbolic.o: hyperbolic.c $(HEADERS) gcc $(OPTIONS) -c hyperbolic.c clean: rm -f singular_values discreteness element_path limit_set hyperbolic triangle.o linalg.o singular_values.o discreteness.o element_path.o limit_set.o hyperbolic.o