summaryrefslogtreecommitdiff
path: root/cheri/Makefile
diff options
context:
space:
mode:
authorRobert Norton2018-05-09 16:36:54 +0100
committerRobert Norton2018-05-09 16:58:19 +0100
commitcd33f38664c620f1eec5d97bde5b837770e7abbc (patch)
treeee69f685f93ef237a59b1587b46c76ced78aa956 /cheri/Makefile
parent680acef72a84b1d3810ffd88c06639bafd1d4b3a (diff)
Use latex support for generating cheri documentation and remove sed based hack. Also some minor code cleanups and comments.
Diffstat (limited to 'cheri/Makefile')
-rw-r--r--cheri/Makefile61
1 files changed, 9 insertions, 52 deletions
diff --git a/cheri/Makefile b/cheri/Makefile
index a5df5f1e..5861dde4 100644
--- a/cheri/Makefile
+++ b/cheri/Makefile
@@ -31,9 +31,16 @@ cheri_trace: $(CHERI_SAILS) $(CHERI_MAIN)
cheri.c: $(CHERI_SAILS) $(CHERI_MAIN)
$(SAIL) -memo_z3 -c $^ 1> $@
-latex: $(CHERI_SAILS)
+latex_128: $(MIPS_SAIL_DIR)/prelude.sail $(CHERI_SAIL_DIR)/cheri_types.sail $(CHERI_SAIL_DIR)/cheri_prelude_128.sail
+ rm -rf sail_latexcc
+ $(SAIL) -latex -latex_prefix sailcc -o sail_latexcc $^
+
+latex_256: $(CHERI_SAILS)
+ rm -rf sail_latex
$(SAIL) -latex $^
+latex: latex_128 latex_256
+
cheri128: $(CHERI128_SAILS) $(CHERI_MAIN)
$(SAIL) -ocaml -o $@ $^
@@ -69,54 +76,4 @@ C%.thy: c%.lem c%_types.lem $(MIPS_SAIL_DIR)/mips_extras.lem
sed -i 's/datatype ast/datatype (plugins only: size) ast/' C$*_types.thy
clean:
- rm -rf cheri cheri128 _sbuild inst_*.sail cheri.c
-
-EXTRACT_INST=sed -n "/START_${1}\b/,/END_${1}\b/p" cheri_insts.sail | sed 's/^ //;1d;$$d' > inst_$1.sail
-extract: cheri_insts.sail
- $(call EXTRACT_INST,CGetPerms)
- $(call EXTRACT_INST,CGetType)
- $(call EXTRACT_INST,CGetBase)
- $(call EXTRACT_INST,CGetOffset)
- $(call EXTRACT_INST,CGetLen)
- $(call EXTRACT_INST,CGetTag)
- $(call EXTRACT_INST,CGetSealed)
- $(call EXTRACT_INST,CGetAddr)
- $(call EXTRACT_INST,CGetPCC)
- $(call EXTRACT_INST,CGetPCCSetOffset)
- $(call EXTRACT_INST,CGetCause)
- $(call EXTRACT_INST,CSetCause)
- $(call EXTRACT_INST,CAndPerm)
- $(call EXTRACT_INST,CToPtr)
- $(call EXTRACT_INST,CSub)
- $(call EXTRACT_INST,CPtrCmp)
- $(call EXTRACT_INST,CIncOffset)
- $(call EXTRACT_INST,CIncOffsetImmediate)
- $(call EXTRACT_INST,CSetOffset)
- $(call EXTRACT_INST,CSetBounds)
- $(call EXTRACT_INST,CSetBoundsImmediate)
- $(call EXTRACT_INST,CSetBoundsExact)
- $(call EXTRACT_INST,CClearTag)
- $(call EXTRACT_INST,CMOVX)
- $(call EXTRACT_INST,ClearRegs)
- $(call EXTRACT_INST,CFromPtr)
- $(call EXTRACT_INST,CBuildCap)
- $(call EXTRACT_INST,CCopyType)
- $(call EXTRACT_INST,CCheckPerm)
- $(call EXTRACT_INST,CCheckType)
- $(call EXTRACT_INST,CTestSubset)
- $(call EXTRACT_INST,CSeal)
- $(call EXTRACT_INST,CCSeal)
- $(call EXTRACT_INST,CUnseal)
- $(call EXTRACT_INST,CCall)
- $(call EXTRACT_INST,CCall2)
- $(call EXTRACT_INST,CReturn)
- $(call EXTRACT_INST,CBtag)
- $(call EXTRACT_INST,CBz)
- $(call EXTRACT_INST,CJALR)
- $(call EXTRACT_INST,CLoad)
- $(call EXTRACT_INST,CStore)
- $(call EXTRACT_INST,CSC)
- $(call EXTRACT_INST,CLC)
- $(call EXTRACT_INST,CReadHwr)
- $(call EXTRACT_INST,CWriteHwr)
-
+ rm -rf cheri cheri_trace cheri128 cheri128_trace _sbuild inst_*.sail cheri.c sail_latex sail_latexcc