HEADERS=coxeter.h thickenings.h queue.h
OPTIONS=-O3 -m64 -flto -funroll-loops -std=gnu99

all: generate process

generate: generate.o coxeter.o thickenings.o
	gcc $(OPTIONS) -o generate generate.o thickenings.o coxeter.o -lgsl -lcblas

process: process.o coxeter.o thickenings.o
	gcc $(OPTIONS) -o process process.o thickenings.o coxeter.o -lgsl -lcblas

generate.o: generate.c $(HEADERS)
	gcc $(OPTIONS) -c generate.c

process.o: process.c $(HEADERS)
	gcc $(OPTIONS) -c process.c

thickenings.o: thickenings.c $(HEADERS)
	gcc $(OPTIONS) -c thickenings.c

coxeter.o: coxeter.c $(HEADERS)
	gcc $(OPTIONS) -c coxeter.c

clean:
	rm -f generate process thickenings.o coxeter.o generate.o process.o