xref: /btstack/doc/manual/Makefile (revision e5fe9c79d17ded179870cff0f60bc2813fbe04bc)
1GITHUB_URL = "https://github.com/bluekitchen/btstack/tree/"
2BTSTACK_FOLDER = ../../
3INTRO_FOLDER = docs-intro/
4MARKDOWN_FOLDER = docs-markdown/
5MKDOCS_FOLDER = docs/
6HTML_FOLDER = btstack/
7LATEX_FOLDER = latex/
8
9all: html pdf
10
11docs-markdown:
12	# create new docs_markdown
13	rm -rf ${MARKDOWN_FOLDER}
14	cp -r  docs-template ${MARKDOWN_FOLDER}
15	mkdir  ${MARKDOWN_FOLDER}/examples
16	mkdir  ${MARKDOWN_FOLDER}/ports
17
18	# create mkdocs-temp.yml
19	./update_mkdocs_yml.sh
20
21	# following should create files in docs-markdown
22
23	# Use chipsets/readme as chipsets.md
24	sed -e "s|../doc/manual/docs-template/||g" ../../chipset/README.md > ${MARKDOWN_FOLDER}/chipsets.md
25
26	# create docs-markdown/appendix/apis.md
27	# create references.p
28	# create mkdocs.yml
29	# create mkdocs-latex.yml
30	./markdown_create_apis.py -r ${BTSTACK_FOLDER} -g ${GITHUB_URL} -o ${MARKDOWN_FOLDER}
31
32	# create docs-markdown/examples/examples.md
33	./markdown_create_examples.py -r ${BTSTACK_FOLDER} -t ${INTRO_FOLDER} -o ${MARKDOWN_FOLDER}
34
35	# create docs-markdown/ports/existing_ports.md
36	./markdown_create_ports.py -r ${BTSTACK_FOLDER} -t ${INTRO_FOLDER} -o ${MARKDOWN_FOLDER}
37
38	# create docs-markdown/gatt_clients.md and  docs-template/gatt_services.md
39	./markdown_create_gatt_services_and_clients.py -r ${BTSTACK_FOLDER} -t ${INTRO_FOLDER} -o ${MARKDOWN_FOLDER}
40
41docs: docs-markdown
42	# create new docs
43	rm -rf ${MKDOCS_FOLDER}
44	cp -r ${MARKDOWN_FOLDER} ${MKDOCS_FOLDER}
45
46	# docs-markdown -> docs
47	./markdown_update_references.py  -i ${MARKDOWN_FOLDER} -o ${MKDOCS_FOLDER} -g ${GITHUB_URL}
48
49
50html: docs
51	# generate HTML into btstack folder
52	mkdocs build --clean
53
54	# post-process HTML using references.p
55	./html_postprocess_code_blocks.py -o ${HTML_FOLDER}
56
57pdf: docs
58	rm -rf ${LATEX_FOLDER}
59	mkdir -p ${LATEX_FOLDER}
60	cp -r ${MKDOCS_FOLDER}/picts ${LATEX_FOLDER}
61
62	cp mkdocs-latex.yml mkdocs.yml
63	# create latex/btstack_gettingstartec.tex with version
64	./update_getting_started.sh ${LATEX_FOLDER}
65
66	# create latex/btstack_generated.md -> latex/btstack_final.tex
67	./markdown2tex.py  -i ${MKDOCS_FOLDER} -o ${LATEX_FOLDER}
68
69	cp ${MKDOCS_FOLDER}/ports/*.jpg ${MKDOCS_FOLDER}/ports/*.png ${LATEX_FOLDER}
70	cd ${LATEX_FOLDER} && pdflatex btstack_gettingstarted.tex && pdflatex btstack_gettingstarted.tex
71	mv ${LATEX_FOLDER}/btstack_gettingstarted.pdf btstack.pdf
72
73preview: docs
74	# race condition, open browser before starting MKdocs server
75	open http://127.0.0.1:8010
76	mkdocs serve -a localhost:8010
77
78clean:
79	rm -rf ${MARKDOWN_FOLDER} ${LATEX_FOLDER} ${HTML_FOLDER} ${MKDOCS_FOLDER}
80	rm -f *.pdf
81	rm -f references.p
82	rm -f mkdocs.yml mkdocs-latex.yml mkdocs-temp.yml
83
84
85