.PHONY: all run clean handin test_llm

all: lexical.l syntax.y multree.cpp cfg.cpp minisee.cpp lab2.cpp main.cpp
	flex lexical.l
	bison -d syntax.y
	g++ -g syntax.tab.c multree.cpp cfg.cpp minisee.cpp lab2.cpp main.cpp \
		-Ismt/z3/src/api/c++ -Ismt/z3/src/api \
		-I./include -I./include/openai \
		-Lsmt/z3/build -lz3 -lcurl \
		-Wl,-rpath,smt/z3/build -o minirepairer

run: all
	./minirepairer test/test1.c > test/output.txt
	./minirepairer test/test2.c >> test/output.txt
	./minirepairer test/test3.c >> test/output.txt
	./minirepairer test/test4.c >> test/output.txt
	./minirepairer test/test5.c >> test/output.txt
	./minirepairer test/test6.c >> test/output.txt
	./minirepairer test/test7.c >> test/output.txt
	./minirepairer test/test8.c >> test/output.txt
	./minirepairer test/test9.c >> test/output.txt
	./minirepairer test/test10.c >> test/output.txt

clean:
	rm -f lex.yy.c syntax.tab.c syntax.tab.h minirepairer
	rm -f test/output.txt

handin:
	zip lab2.zip lab2.cpp
	@echo “Please upload lab2.zip to canvas.”