.PHONY: all lcov clean run

CC = gcc
CFLAGS = -Wall -fprofile-arcs -ftest-coverage
EXEC = maze
COVERFILE = coverage.info
HTMLDIR = coverage_html

all: $(EXEC)

$(EXEC): maze.c
	$(CC) $(CFLAGS) $< -o $(EXEC)

run: $(EXEC)
	rm -f *.gcda *.info
	./$(EXEC)

lcov: $(EXEC) run
	lcov --capture --rc lcov_branch_coverage=1 --directory . --output-file $(COVERFILE)
	genhtml $(COVERFILE) --branch-coverage --output-directory $(HTMLDIR)

clean:
	rm -rf $(EXEC) *.o *.gcno *.gcda $(HTMLDIR) $(COVERFILE)
