CC = gcc
CFLAGS = -std=c11 -Wall -Wextra -Werror -g -O0
.PHONY: test clean unit objects
build/main.o: main.c sensor.h
	mkdir -p build
	$(CC) $(CFLAGS) -c main.c -o $@
build/sensor.o: sensor.c sensor.h
	mkdir -p build
	$(CC) $(CFLAGS) -c sensor.c -o $@
build/test: test_sensor.c sensor.c sensor.h
	mkdir -p build
	$(CC) $(CFLAGS) -I. test_sensor.c sensor.c -o $@
objects: build/main.o build/sensor.o
unit: build/test
	./build/test
recorder: build/main.o build/sensor.o
	$(CC) $(CFLAGS) build/main.o build/sensor.o -o $@
test:
	python3 check.py
	python3 memory_check.py
clean:
	rm -rf build recorder record-buffer debug-probe

build/test_buffer: test_buffer.c buffer.c buffer.h
	mkdir -p build
	$(CC) $(CFLAGS) test_buffer.c buffer.c -o $@
record-buffer: record_main.c buffer.c sensor.c buffer.h sensor.h
	$(CC) $(CFLAGS) record_main.c buffer.c sensor.c -o $@
debug-probe: debug_probe.c buffer.c buffer.h
	$(CC) $(CFLAGS) debug_probe.c buffer.c -o $@
memory-test:
	python3 memory_check.py
