CC=gcc
FLAGS=-g -Wall -Wextra -Wpedantic
LFLAGS=


all: bin/colloscope

test: bin/colloscope
	bin/colloscope -v S3-creneaux.txt 31 S3-colleurs.txt 16 7 15 10000 output-S3.csv 3 6

mem: bin/
	valgrind --leak-check=full ./bin/colloscope -v S3-creneaux.txt 31 S3-colleurs.txt 16 7 15 100 output-S3.csv 3 6

OBJECTS = obj/structure.o obj/algorithm.o obj/display.o obj/logger.o obj/main.o
bin/colloscope: $(OBJECTS)
	@mkdir -p bin
	$(CC) -o $@ $(LFLAGS) $(FLAGS) $(OBJECTS)

obj/main.o: src/main.c
	@mkdir -p obj
	$(CC) -o $@ -c $(FLAGS) $<

obj/structure.o: src/structure.c src/structure.h
	@mkdir -p obj
	$(CC) -o $@ -c $(FLAGS) $<

obj/display.o: src/display.c src/display.h
	@mkdir -p obj
	$(CC) -o $@ -c $(FLAGS) $<

obj/algorithm.o: src/algorithm.c src/algorithm.h
	@mkdir -p obj
	$(CC) -o $@ -c $(FLAGS) $<

obj/logger.o: src/logger.c src/logger.h
	@mkdir -p obj
	$(CC) -o $@ -c $(FLAGS) $<

.PHONY: clean

clean:
	rm -rf bin/ obj/