CLEAN=mvn clean package
TEST=java -cp "chocopy-ref.jar:target/assignment.jar" chocopy.ChocoPy --pass=..s --run --dir src/test/data/pa3/sample/ --test

TESTB=java -cp "chocopy-ref.jar:target/assignment.jar" chocopy.ChocoPy --pass=..s --run --dir src/test/data/pa3/benchmarks/ --test
FILE=op_mul
FILEB=exp
clean:
	$(CLEAN)
test:
	$(TEST)
clean-test:
	$(CLEAN) ; $(TEST)
single-test:
	java -cp "chocopy-ref.jar:target/assignment.jar" chocopy.ChocoPy --pass=rrs --run src/test/data/pa3/sample/$(FILE).py
reference:
	java -cp "chocopy-ref.jar:target/assignment.jar" chocopy.ChocoPy --pass=rrr --run src/test/data/pa3/sample/$(FILE).py
assembly:
	java -cp "chocopy-ref.jar:target/assignment.jar" chocopy.ChocoPy --pass=..s src/test/data/pa3/sample/$(FILE).py.ast.typed --out src/test/data/pa3/sample/$(FILE).py.s
reference-assembly:
	java -cp "chocopy-ref.jar:target/assignment.jar" chocopy.ChocoPy --pass=..r src/test/data/pa3/sample/$(FILE).py.ast.typed --out src/test/data/pa3/sample/$(FILE).py.s

test-bench:
	$(TESTB)
clean-test-bench:
	$(CLEAN) ; $(TESTB)
single-test-bench:
	java -cp "chocopy-ref.jar:target/assignment.jar" chocopy.ChocoPy --pass=rrs --run src/test/data/pa3/benchmarks/$(FILEB).py
reference-bench:
	java -cp "chocopy-ref.jar:target/assignment.jar" chocopy.ChocoPy --pass=rrr --run src/test/data/pa3/benchmarks/$(FILEB).py
assembly-bench:
	java -cp "chocopy-ref.jar:target/assignment.jar" chocopy.ChocoPy --pass=..s src/test/data/pa3/benchmarks/$(FILEB).py.ast.typed --out src/test/data/pa3/benchmarks/$(FILEB).py.s
reference-assembly-bench:
	java -cp "chocopy-ref.jar:target/assignment.jar" chocopy.ChocoPy --pass=..r src/test/data/pa3/benchmarks/$(FILEB).py.ast.typed --out src/test/data/pa3/benchmarks/$(FILEB).py.s
