CC       = clang
CFLAGS   = -Wall -Wextra -Werror -std=c11
CPPFLAGS = -I /opt/homebrew/include -I /usr/local/include
LDFLAGS  = -L /opt/homebrew/lib -L /usr/local/lib
LDLIBS   = -lexif

# Test-specific flags
TEST_LDLIBS = $(LDLIBS) -lm

stamps: main.o stamps.o utility.o
reader: reader.o utility.o

# Test targets
test_stamps: test_stamps.o stamps.o utility.o
	$(CC) $(LDFLAGS) -o test_stamps test_stamps.o stamps.o utility.o $(TEST_LDLIBS)

test: test_stamps
	./test_stamps

clean:
	rm -f stamps reader *.o test_stamps
	rm -rf test_files

install: stamps
	cp stamps       ${HOME}/.local/bin/
	sudo cp stamps  ${HOME}/.local/bin/sony-stamps
	sudo chown 1009 ${HOME}/.local/bin/sony-stamps
	sudo chmod u+s  ${HOME}/.local/bin/sony-stamps

format:
	clang-format -i *.c *.h

.PHONY: clean format test
