aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2022-03-17 21:09:26 +0000
committerYann Herklotz <git@yannherklotz.com>2022-03-17 21:09:26 +0000
commita7a8e4481bce810d077ea682b8379535a20931c9 (patch)
tree689fb687749a79f616379205304e2d605aab7a69
parenta1c958a50129342aeccf38e0e591bed6c394cf74 (diff)
downloadvericert-a7a8e4481bce810d077ea682b8379535a20931c9.tar.gz
vericert-a7a8e4481bce810d077ea682b8379535a20931c9.zip
Update documentation files
-rw-r--r--Makefile11
-rw-r--r--docs/Makefile14
-rw-r--r--docs/res/publish-man.el12
-rw-r--r--docs/res/publish-manual.el12
-rw-r--r--docs/res/publish.el (renamed from docs/res/publish-html.el)3
-rw-r--r--scripts/Makefile15
-rw-r--r--scripts/synthesis-results.org44
-rwxr-xr-xscripts/synthesis-results.scm2
8 files changed, 78 insertions, 35 deletions
diff --git a/Makefile b/Makefile
index 218598a..03bfaa5 100644
--- a/Makefile
+++ b/Makefile
@@ -38,11 +38,13 @@ lib/COMPCERTSTAMP: lib/CompCert/Makefile.config
$(MAKE) HAS_RUNTIME_LIB=false CLIGHTGEN=false INSTALL_COQDEV=false -C lib/CompCert
touch $@
-install:
- install -d $(PREFIX)/bin
+install: docs/vericert.1
sed -i'' -e 's/arch=verilog/arch=x86/' _build/default/driver/compcert.ini
- install -C _build/default/driver/compcert.ini $(PREFIX)/bin/.
+ install -d $(PREFIX)/bin
+ install -C _build/default/driver/compcert.ini $(PREFIX)/bin
install -C _build/default/driver/VericertDriver.exe $(PREFIX)/bin/vericert
+ install -d $(PREFIX)/share/man/man1
+ install -C $< $(PREFIX)/share/man/man1
proof: Makefile.coq
$(MAKE) -f Makefile.coq
@@ -75,6 +77,9 @@ Makefile.coq:
@echo "COQMAKE Makefile.coq"
$(COQBIN)coq_makefile $(COQINCLUDES) $(VS) -o Makefile.coq
+docs/vericert.1:
+ $(MAKE) -C docs vericert.1
+
clean:: Makefile.coq
$(MAKE) -f Makefile.coq clean
$(MAKE) -C test clean
diff --git a/docs/Makefile b/docs/Makefile
index 93083cd..9d4f361 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -3,19 +3,27 @@ all: manual src man-html
install-deps:
emacs --batch --load ./res/install-deps.el
+%.man: %.org
+ emacs --batch --file $< --load ./res/publish.el --funcall org-man-export-to-man
+
+%.html: %.org
+ emacs --batch --file $< --load ./res/publish.el --funcall org-html-export-to-html
+
manual:
mkdir -p manual
- emacs --batch --file documentation.org --load ./res/publish-manual.el
+ emacs --batch --file documentation.org --load ./res/publish.el --funcall org-texinfo-export-to-texinfo
makeinfo --html --number-sections --no-split \
--css-ref "https://www.gnu.org/software/emacs/manual.css" \
vericert.texi -o ./manual/index.html
cp -r images ./manual/.
-man-html:
+man-html: man.html
mkdir -p man
- emacs --batch --file man.org --load ./res/publish-html.el
cp man.html ./man/vericert.1.html
+vericert.1: man.man
+ cp $< $@
+
src:
$(MAKE) -C .. doc
cp -r ../html src
diff --git a/docs/res/publish-man.el b/docs/res/publish-man.el
deleted file mode 100644
index 634b454..0000000
--- a/docs/res/publish-man.el
+++ /dev/null
@@ -1,12 +0,0 @@
-(require 'package)
-(package-initialize)
-
-(require 'org)
-(require 'org-transclusion)
-(require 'ox)
-(require 'ox-man)
-
-(setq org-transclusion-exclude-elements nil)
-
-(org-transclusion-add-all)
-(org-man-export-to-man)
diff --git a/docs/res/publish-manual.el b/docs/res/publish-manual.el
deleted file mode 100644
index df5db6b..0000000
--- a/docs/res/publish-manual.el
+++ /dev/null
@@ -1,12 +0,0 @@
-(require 'package)
-(package-initialize)
-
-(require 'org)
-(require 'org-transclusion)
-(require 'ox)
-(require 'ox-texinfo)
-
-(setq org-transclusion-exclude-elements nil)
-
-(org-transclusion-add-all)
-(org-texinfo-export-to-texinfo)
diff --git a/docs/res/publish-html.el b/docs/res/publish.el
index a9c7a9d..c083eb0 100644
--- a/docs/res/publish-html.el
+++ b/docs/res/publish.el
@@ -6,6 +6,8 @@
(require 'ox)
(require 'ox-html)
(require 'htmlize)
+(require 'ox-texinfo)
+(require 'ox-man)
(setq org-transclusion-exclude-elements nil
org-html-head-include-default-style nil
@@ -19,4 +21,3 @@
org-html-htmlize-output-type 'css)
(org-transclusion-add-all)
-(org-html-export-to-html)
diff --git a/scripts/Makefile b/scripts/Makefile
index bf51ce7..e31a6fd 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -1,9 +1,18 @@
+PREFIX ?= ..
+
all: synthesis
-synthesis: synthesis-results.scm
+%: %.scm
chicken-csc -static -o $@ $<
-install: synthesis
- install -s $< ~/.local/bin
+%.1: %.org
+ emacs --batch --file $< --load ../docs/res/publish.el --funcall org-man-export-to-man
+ cp $(<:.org=.man) $@
+
+install: synthesis-results synthesis-results.1
+ install -d $(PREFIX)/bin
+ install -C synthesis-results $(PREFIX)/bin
+ install -d $(PREFIX)/share/man/man1
+ install -C synthesis-results.1 $(PREFIX)/share/man/man1
.PHONY: all install
diff --git a/scripts/synthesis-results.org b/scripts/synthesis-results.org
new file mode 100644
index 0000000..602b2ba
--- /dev/null
+++ b/scripts/synthesis-results.org
@@ -0,0 +1,44 @@
+#+title: synthesis-results
+#+man_class_options: :section-id "1"
+#+options: toc:nil num:nil
+#+html_head_extra: <style>body{font-family:monospace;max-width:60em}h1{text-align:center}dt{font-weight:700}dd{margin-bottom:1em}</style>
+
+* NAME
+
+synthesis-results: sends a verilog file to be synthesised and returns results as a CSV file.
+
+* SYNOPSYS
+
+Usage: *synthesis-results* [options...] [files...]
+
+* DESCRIPTION
+
+- -v, --verbose[=LEVEL] :: Debug level [default: 0]
+- -k, --keys=KEY,KEY,... :: Keys to display [default: slice,ramfifo,delay]
+- -o, --output=FILE :: Output file
+- -s, --suppress=TYPE,TYPE,... :: Values to suppress from output [default: none]
+- -x, --xml :: Output raw XML from the synthesis tool
+- -c, --csv :: Output processed CSV
+- -V, --version :: Display version
+- -h, --help :: Display this text
+
+* AUTHOR
+
+Written by Yann Herklotz.
+
+* COPYRIGHT
+
+Copyright (C) 2022 Yann Herklotz <yann@yannherklotz.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/scripts/synthesis-results.scm b/scripts/synthesis-results.scm
index faf8919..3a87d58 100755
--- a/scripts/synthesis-results.scm
+++ b/scripts/synthesis-results.scm
@@ -32,7 +32,7 @@
(: description string)
(define description
- "synthesise: sends a verilog file to be synthesised and returns results as a CSV file.")
+ "synthesis-results: sends a verilog file to be synthesised and returns results as a CSV file.")
(define (usage)
(with-output-to-port (current-error-port)