diff --git a/Makefile b/Makefile index 3452a66585a463b1ade85a5f616e44d52b589610..db4b105ede7d37525f0b873ea747a5b5ba28703b 100644 --- a/Makefile +++ b/Makefile @@ -107,6 +107,12 @@ PTEST_USE_WP_CACHE:=yes # Part that can be shared for external plugins include share/Makefile.testing +############################################################################### +# Server Documentation +################################ + +include share/Makefile.serverdoc + ############################################################################### # Code prettyfication and lint diff --git a/share/Makefile.serverdoc b/share/Makefile.serverdoc new file mode 100644 index 0000000000000000000000000000000000000000..8d438a8fd7439b1430bbce26d97dfc6734e58561 --- /dev/null +++ b/share/Makefile.serverdoc @@ -0,0 +1,51 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + +########################################################################## +# # +# Generate Documentation for Server Requests and Protocols. # +# # +########################################################################## + +.PHONY: server-doc-md server-doc-html server-doc + +server-doc-md: all + $(PRINT) 'Generating Markdown server documentation' + @rm -fr doc/server + @mkdir -p doc/server + ./bin/frama-c -server-doc doc/server + +server-doc-html: server-doc-md + $(PRINT) 'Generating HTML server documentation' + @find doc/server -name "*.md" -print -exec pandoc \ + --standalone --toc --toc-depth=2 --to html \ + --template doc/pandoc/template.html \ + --metadata-file {}.json \ + --lua-filter doc/pandoc/href.lua \ + {} -o {}.html \; + @cp -f doc/pandoc/style.css doc/server/ + $(PRINT) 'Server Documentation Generated' + $(PRINT) ' file://$(PWD)/doc/server/readme.md.html' + +server-doc: server-doc-html + +##########################################################################