blob: 08a88dae10dd82e5cf3986a47dddde6038c68929 [file] [log] [blame]
Zack Williams144027f2017-09-25 18:01:47 -07001# Makefile for building CORD docs site, guide.opencord.org
2# Building docs requires the following tools:
3# - Gitbook toolchain: https://toolchain.gitbook.com/setup.html
4# - NPM (for Gitbook and Swagger)
5# - Python (for build glossary script)
6# - linkchecker (for test target) http://wummel.github.io/linkchecker/
7
Zack Williams1b96a952017-07-17 16:48:01 -07008default: serve
Matteo Scandolof8cd29f2017-09-07 13:57:26 -07009
Zack Williams2d04b0d2017-09-25 14:19:55 -070010# use bash for pushd/popd, and to fail if commands within a pipe fail
11SHELL = bash -o pipefail
12
Zack Williams1b96a952017-07-17 16:48:01 -070013GENERATED_DOCS = build_glossary.md
llpbd786de2017-07-07 15:57:27 -070014
Zack Williams1b96a952017-07-17 16:48:01 -070015serve: setup
Matteo Scandolo8a76f922017-08-29 14:02:58 -070016 gitbook serve
llp18276982017-07-11 11:28:47 -070017
Zack Williams1b96a952017-07-17 16:48:01 -070018build: setup
19 gitbook build
20
Zack Williams144027f2017-09-25 18:01:47 -070021setup: clean platform-install cord-tester profiles xos xos-gui xos-tosca swagger $(GENERATED_DOCS)
Zack Williams1b96a952017-07-17 16:48:01 -070022 gitbook init
23 gitbook install
24
Zack Williams144027f2017-09-25 18:01:47 -070025test: linkcheck
26
27linkcheck: build
Luca Prete9bfa6f32017-12-06 14:37:57 -080028 linkchecker --check-extern -a _book/
Zack Williams144027f2017-09-25 18:01:47 -070029
Zack Williams1b96a952017-07-17 16:48:01 -070030platform-install:
31 ln -s ../platform-install/docs platform-install
32
Zack Williams144027f2017-09-25 18:01:47 -070033cord-tester:
34 ln -s ../../test/cord-tester/docs cord-tester
Zack Williams1b96a952017-07-17 16:48:01 -070035
36profiles:
Zack Williamsb5cde1d2017-12-04 16:57:04 -070037 mkdir -p profiles
Luca Pretec2f06ed2017-10-26 17:04:06 -070038 ln -s ../../../orchestration/profiles/rcord/docs profiles/rcord
39 ln -s ../../../orchestration/profiles/ecord/docs profiles/ecord
40 ln -s ../../../orchestration/profiles/mcord/docs profiles/mcord
41 ln -s ../../../orchestration/profiles/opencloud/docs profiles/opencloud
Zack Williams1b96a952017-07-17 16:48:01 -070042
Zack Williamsbe0b2c72018-01-25 14:48:38 -070043lint:
44 @echo "markdownlint(mdl) version: `mdl --version`"
45 @echo "rule descriptions: https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md"
46 @echo "style config:"
47 @echo "---"
48 @cat mdlstyle.rb
49 @echo "---"
50 mdl -s mdlstyle.rb `find . ! -path "./_book/*" ! -path "./node_modules/*" ! -path "./cord-tester/modules/*" -name "*.md"`
51
Zack Williams1b96a952017-07-17 16:48:01 -070052xos:
53 ln -s ../../orchestration/xos/docs xos
54
55xos-gui:
56 ln -s ../../orchestration/xos-gui/docs xos-gui
57
58xos-tosca:
59 ln -s ../../orchestration/xos-tosca/docs xos-tosca
60
61build_glossary.md: scripts/descriptions.md scripts/defaults.md.j2 scripts/defaultsdoc.py scripts/markedyaml.py
62 python scripts/defaultsdoc.py -o build_glossary.md
63
64swagger: xos
Matteo Scandolof8cd29f2017-09-07 13:57:26 -070065 pushd ../../orchestration/xos/docs/; make swagger_docs; popd;
66
Zack Williams1b96a952017-07-17 16:48:01 -070067clean:
68 rm -rf $(GENERATED_DOCS)
69 rm -rf _book
70 rm -rf node_modules
Luca Prete9bfa6f32017-12-06 14:37:57 -080071 rm -rf platform-install test profiles xos xos-gui xos-tosca
Zack Williams1b96a952017-07-17 16:48:01 -070072