-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcpsa4.mk
38 lines (28 loc) · 898 Bytes
/
cpsa4.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Makefile rules for CPSA
# Suggested CPSA flags include a memory use limit:
# CPSAFLAGS = +RTS -M512m -N -RTS
# Analyze protocols for shapes
%.txt: %.scm
$(CPSATIME) cpsa4 $(CPSAFLAGS) -o $@ $<
# Preprocess by transforming defprot forms into defprotocol
%.scm: %.prot
cpsa4prot $(CPSAPROTFLAGS) -o $@ $<
# Analyze protocols for shapes, but don't fail when CPSA does
%.txt: %.lsp
-$(CPSATIME) cpsa4 $(CPSAFLAGS) -o $@ $<
# Extract shapes
%_shapes.txt: %.txt
cpsa4shapes $(SHAPESFLAGS) -o $@ $<
# Extract shape analysis sentences
%_sas.text: %.txt
cpsa4sas $(SASFLAGS) -o $@ $<
# Visualize output using the expanded format (default)
%.xhtml: %.txt
cpsa4graph $(GRAPHFLAGS) -o $@ $<
# Visualize output using the compact format
%.svg: %.txt
cpsa4graph -c -o $@ $<
# Visualize output using the LaTeX format
%.tex: %.txt
cpsa4graph -l -m 62 -o $@ $<
.PRECIOUS: %.txt %_shapes.txt