# Makefile for PVS directories

.PHONY: save restore

all:
	true

prffiles=Queue

pvssources=Queue_model.pvs Queue_model.prf \
	ListQueue_model.pvs ListQueue_model.prf \
	Queue_refine.pvs Queue_refine.prf \
	Queue_theorem.prf all.pvs \
	proof_save_Queue_basic \
	Makefile pvs-batch.el

ccslsources=queue.beh

dest=/tmp/tews/Queue
copy:
	rm -rf $(dest)
	mkdir -p $(dest)
	cp $(ccslsources) $(dest)
	cp $(pvssources) $(dest)

clean:
	rm -f *bin
	rm -f .pvscontext
	rm -f *_adt.p*
	rm -f *_basic.p*
	rm -f ccsl_prelude.p*

prf=$${$(1)}_basic.prf
save=proof_save_$${$(1)}_basic

diff:
	for f in $(prffiles) ; do \
		echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; \
		echo %%%  diff $(call prf,f) $(call save,f) ; \
		echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; \
		diff $(call prf,f) $(call save,f) ; \
	done

save:
	for f in $(prffiles) ; do \
		echo cp $(call prf,f) $(call save,f) ; \
		cp $(call prf,f) $(call save,f) ; \
	done

restore:
	for f in $(prffiles) ; do \
		echo cp $(call save,f) $(call prf,f) ; \
		cp $(call save,f) $(call prf,f) ; \
	done

ccsl:
	loopc queue.beh
	$(MAKE) restore

