# Makefile for PVS directories

.PHONY: save restore clean cleanall tar

all:
	true

prffiles=Stack List_Stack

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

cleanall: clean
	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:
	ccslc stack.beh
	$(MAKE) restore



TARFILES=Makefile stack.beh
PVSTARFILES=List_Stack_basic Stack_basic Stack_model \
	Stack_refine Stack_theory all ccsl_prelude

tar:
	rm -rf stack
	mkdir stack
	cp $(TARFILES) stack
	for f in $(PVSTARFILES) ; do \
		cp $$f.pvs $$f.prf stack; \
	done
	for f in $(prffiles) ; do \
		cp $(call save,f) stack ; \
	done
	tar -czf stack.tar.gz stack

copytar: tar
	cp stack.tar.gz ~/public_html/ccsl/stack.tar.gz
