ex3: clean
	spin ex3.pml

ex4: clean
	spin -a ex4.pml
	gcc -DSAFETY -o pan pan.c
	./pan

ex5: clean
	spin -F ex5.ltl -a ex5.pml
	gcc -o pan pan.c
	./pan -a -f

peterson1: clean
	spin -F peterson1.ltl -a peterson.pml
	gcc -o pan pan.c
	./pan -a -f

peterson2: clean
	spin -F peterson2.ltl -a peterson.pml
	gcc -o pan pan.c
	./pan -a -f

peterson3: clean
	spin -F peterson3.ltl -a peterson.pml
	gcc -o pan pan.c
	./pan -a -f

peterson4: clean
	spin -F peterson4.ltl -a peterson.pml
	gcc -o pan pan.c
	./pan -a -f

traffic1: clean
	spin -F traffic1.ltl -a traffic.pml
	gcc -o pan pan.c
	./pan -a -f

traffic2: clean
	spin -F traffic2.ltl -a traffic.pml
	gcc -o pan pan.c
	./pan -a -f

traffic3: clean
	spin -F traffic3.ltl -a traffic.pml
	gcc -o pan pan.c
	./pan -a -f

dp_0: clean
	spin -F dp0.ltl -a dp.pml
	gcc -DNOREDUCE -DNFAIR=4 -o pan pan.c
	./pan -a -f

dp_deadlock: clean
	spin -a dp.pml
	gcc -DSAFETY -o pan pan.c
	./pan

dp_1: clean
	spin -F dp1.ltl -a dp.pml
	gcc -DNOREDUCE -DNFAIR=4 -o pan pan.c
	./pan -a -f

dp_2: clean
	spin -F dp2.ltl -a dp.pml
	gcc -DNOREDUCE -DNFAIR=4 -o pan pan.c
	./pan -a -f

dp_no_deadlock1_0: clean
	spin -F dp0.ltl -a dp_no_deadlock1.pml
	gcc -DNOREDUCE -DNFAIR=4 -o pan pan.c
	./pan -a -f

dp_no_deadlock1_deadlock: clean
	spin -a dp_no_deadlock1.pml
	gcc -DSAFETY -o pan pan.c
	./pan

dp_no_deadlock1_1: clean
	spin -F dp1.ltl -a dp_no_deadlock1.pml
	gcc -DNOREDUCE -DNFAIR=4 -o pan pan.c
	./pan -a -f

dp_no_deadlock1_2: clean
	spin -F dp2.ltl -a dp_no_deadlock1.pml
	gcc -DNOREDUCE -DNFAIR=4 -o pan pan.c
	./pan -a -f

dp_no_deadlock2_0: clean
	spin -F dp0.ltl -a dp_no_deadlock2.pml
	gcc -DNOREDUCE -DNFAIR=4 -o pan pan.c
	./pan -a -f

dp_no_deadlock2_deadlock: clean
	spin -a dp_no_deadlock2.pml
	gcc -DSAFETY -o pan pan.c
	./pan

dp_no_deadlock2_1: clean
	spin -F dp1.ltl -a dp_no_deadlock2.pml
	gcc -DNOREDUCE -DNFAIR=4 -o pan pan.c
	./pan -a -f

dp_no_deadlock2_2: clean
	spin -F dp2.ltl -a dp_no_deadlock2.pml
	gcc -DNOREDUCE -DNFAIR=4 -o pan pan.c
	./pan -a -f

clean:
	rm -f pan  pan.b  pan.c  pan.h  pan.m  pan.t
