2
2
3
3
This is the root of CBMC documentation.
4
4
5
- ## Install doxygen
5
+ ## Install tools
6
6
7
- Building this documentation requires ` doxygen ` and ` graphviz ` .
7
+ Building this documentation requires ` doxygen ` , ` graphviz ` , and ` pandoc ` .
8
8
9
9
* On MacOS,
10
10
we recommend installing with [ brew] ( https://brew.sh/ ) :
11
11
```
12
- brew install doxygen graphviz
12
+ brew install doxygen graphviz pandoc
13
13
```
14
14
* On Ubuntu, we recommend installing with using ` apt ` :
15
15
```
16
- sudo apt install doxygen graphviz
16
+ sudo apt install doxygen graphviz pandoc
17
17
```
18
18
19
- Note: As of
20
-
21
19
## Build the documentation
22
20
23
21
To build the documentation, run
24
22
25
23
```
26
- doxygen
24
+ make
27
25
```
28
26
29
- The documentation takes about five minutes to build and is written to
30
- the ` html ` subdirectory as a set of 2600+ html files. To view the
31
- documentation,
27
+ The build takes about five minutes, and the documentation is written to
28
+ the ` html ` subdirectory as a mostly-flat collection of 2600+ html files.
29
+ To view the documentation,
32
30
open the file ` html/index.html ` in a web browser. One MacOS, run
33
31
34
32
```
35
33
open html/index.html
36
34
```
37
35
36
+ The build will refuse to run if the repository is dirty
37
+ (if there are uncomitted changes).
38
+ The build appends "last modified" tags to the end of every markdown file,
39
+ which modifies about 60 markdown files.
40
+ Run ` git checkout . ` in the repository root to restore the markdown files
41
+ to their original state.
42
+
43
+ The build actually runs six builds:
44
+
45
+ * the legacy CPROVER documentation in ` src ` and ` doc ` which now includes the
46
+ top-level pages in this directory,
47
+ * the legacy CPROVER manual in ` doc/cprover-manual ` ,
48
+ * the man pages in ` doc/man ` , and
49
+ * some supplemental documentation in ` doc/API ` , ` doc/ADR ` , and ` doc/assets ` .
50
+
38
51
## Publish the documentation
39
52
40
53
To publish the documentation, we use the GitHub workflow
@@ -44,7 +57,11 @@ the `github.io` web site.
44
57
45
58
## Contribute documentation
46
59
47
- Coming soon...
60
+ To contribute to this documentation,
61
+ there are some [ documentation instructions] ( contributing.md ) written
62
+ to make it easier for you to link your documentation into the right
63
+ location.
64
+
48
65
49
66
## References
50
67
0 commit comments