blob: ff4b7d62f9358f11e6d72a09b25b4a477a910784 [file] [log] [blame]
Zack Williams5875fc42017-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 Williams6e87cbc2017-07-17 16:48:01 -07008default: serve
Matteo Scandolofa32eb42017-09-07 13:57:26 -07009
Zack Williams7f68d0a2017-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 Williams6e87cbc2017-07-17 16:48:01 -070013GENERATED_DOCS = build_glossary.md
llpbd786de2017-07-07 15:57:27 -070014
Zack Williams6e87cbc2017-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 Williams6e87cbc2017-07-17 16:48:01 -070018build: setup
19 gitbook build
20
Zack Williams5875fc42017-09-25 18:01:47 -070021setup: clean platform-install cord-tester profiles xos xos-gui xos-tosca swagger $(GENERATED_DOCS)
Zack Williams6e87cbc2017-07-17 16:48:01 -070022 gitbook init
23 gitbook install
24
Zack Williams5875fc42017-09-25 18:01:47 -070025test: linkcheck
26
27linkcheck: build
Luca Pretee8fbeca2017-12-06 14:37:57 -080028 linkchecker --check-extern -a _book/
Zack Williams5875fc42017-09-25 18:01:47 -070029
Zack Williams6e87cbc2017-07-17 16:48:01 -070030platform-install:
31 ln -s ../platform-install/docs platform-install
32
Zack Williams5875fc42017-09-25 18:01:47 -070033cord-tester:
34 ln -s ../../test/cord-tester/docs cord-tester
Zack Williams6e87cbc2017-07-17 16:48:01 -070035
36profiles:
Zack Williams6530b972017-12-04 16:57:04 -070037 mkdir -p profiles
Luca Pretee1920f02017-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 Williams6e87cbc2017-07-17 16:48:01 -070042
43xos:
44 ln -s ../../orchestration/xos/docs xos
45
46xos-gui:
47 ln -s ../../orchestration/xos-gui/docs xos-gui
48
49xos-tosca:
50 ln -s ../../orchestration/xos-tosca/docs xos-tosca
51
52build_glossary.md: scripts/descriptions.md scripts/defaults.md.j2 scripts/defaultsdoc.py scripts/markedyaml.py
53 python scripts/defaultsdoc.py -o build_glossary.md
54
55swagger: xos
Matteo Scandolofa32eb42017-09-07 13:57:26 -070056 pushd ../../orchestration/xos/docs/; make swagger_docs; popd;
57
Zack Williams6e87cbc2017-07-17 16:48:01 -070058clean:
59 rm -rf $(GENERATED_DOCS)
60 rm -rf _book
61 rm -rf node_modules
Luca Pretee8fbeca2017-12-06 14:37:57 -080062 rm -rf platform-install test profiles xos xos-gui xos-tosca
Zack Williams6e87cbc2017-07-17 16:48:01 -070063