summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile6
-rw-r--r--isabelle-lib/Makefile41
-rw-r--r--isabelle-lib/ROOT6
3 files changed, 51 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 88f2903c..97e42f7e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-.PHONY: all sail language clean archs apply_header
+.PHONY: all sail language clean archs isabelle-lib apply_header
all: sail interpreter
@@ -17,6 +17,9 @@ archs:
$(MAKE) -C "$$arch" || exit;\
done
+isabelle-lib:
+ $(MAKE) -C isabelle-lib
+
apply_header:
$(MAKE) clean
headache -c etc/headache_config -h etc/mips_header `ls mips/*.sail`
@@ -32,4 +35,3 @@ clean:
$(MAKE) -C "$$subdir" clean;\
done
-rm sail
-
diff --git a/isabelle-lib/Makefile b/isabelle-lib/Makefile
new file mode 100644
index 00000000..bd4066cd
--- /dev/null
+++ b/isabelle-lib/Makefile
@@ -0,0 +1,41 @@
+THYS = Sail_impl_base.thy Sail_values.thy State.thy Prompt.thy
+LEMS = sail_impl_base.lem sail_values.lem state.lem prompt.lem
+
+.PHONY: all heap-img clean
+
+all: heap-img
+
+heap-img: $(THYS)
+ @echo '*** To build a heap image with the Sail library, please'
+ @echo '*** add the ROOT file in this directory to your ROOTS file'
+ @echo '*** (e.g. $$HOME/.isabelle/Isabelle<version>/ROOTS)'
+ @echo '*** and add the isabelle binary to your PATH.'
+ isabelle build -b Sail
+
+Sail_impl_base.thy: sail_impl_base.lem
+ lem -isa $<
+
+Sail_values.thy: sail_values.lem Sail_impl_base.thy
+ lem -isa $<
+
+State.thy: state.lem Sail_values.thy
+ lem -isa $<
+
+Prompt.thy: prompt.lem Sail_values.thy
+ lem -isa $<
+
+sail_impl_base.lem: ../src/lem_interp/sail_impl_base.lem
+ cp $< .
+
+sail_values.lem: ../src/gen_lib/sail_values.lem
+ cp $< .
+
+state.lem: ../src/gen_lib/state.lem
+ cp $< .
+
+prompt.lem: ../src/gen_lib/prompt.lem
+ cp $< .
+
+clean:
+ rm $(THYS) $(LEMS)
+ rm *Auxiliary.thy
diff --git a/isabelle-lib/ROOT b/isabelle-lib/ROOT
new file mode 100644
index 00000000..d79b99ba
--- /dev/null
+++ b/isabelle-lib/ROOT
@@ -0,0 +1,6 @@
+session "Sail" = "LEM" +
+ options [document = false]
+ theories
+ Sail_values
+ State
+ Prompt