CFLAGS=-O3 -Iinc/

build: main

test: tester

tester: out/tester.o out/sorter.o
	gcc $(CFLAGS) out/tester.o out/sorter.o -o tester

out/tester.o: out/ src/tester.c
	gcc $(CFLAGS) -c src/tester.c -o out/tester.o

out/sorter.o: out/ src/sorter.c
	gcc $(CFLAGS) -c src/sorter.c -o out/sorter.o

out/:
	mkdir out/

main: out/main.o out/swapper.o
	gcc $(CFLAGS) out/main.o out/swapper.o -o main

out/main.o: out/ src/main.c
	gcc $(CFLAGS) -c src/main.c -o out/main.o

out/swapper.o: out/ src/swapper.c
	gcc $(CFLAGS) -c src/swapper.c -o out/swapper.o

clean:
	rm -r main tester out/

.PHONY: build test clean
