btstack/doc/manual/Makefile
2023-06-05 11:09:46 +02:00

85 lines
2.6 KiB
Makefile

GITHUB_URL = "https://github.com/bluekitchen/btstack/tree/"
BTSTACK_FOLDER = ../../
INTRO_FOLDER = docs-intro/
MARKDOWN_FOLDER = docs-markdown/
MKDOCS_FOLDER = docs/
HTML_FOLDER = btstack/
LATEX_FOLDER = latex/
all: html pdf
docs-markdown:
# create new docs_markdown
rm -rf ${MARKDOWN_FOLDER}
cp -r docs-template ${MARKDOWN_FOLDER}
mkdir ${MARKDOWN_FOLDER}/examples
mkdir ${MARKDOWN_FOLDER}/ports
# create mkdocs-temp.yml
./update_mkdocs_yml.sh
# following should create files in docs-markdown
# Use chipsets/readme as chipsets.md
sed -e "s|../doc/manual/docs-template/||g" ../../chipset/README.md > ${MARKDOWN_FOLDER}/chipsets.md
# create docs-markdown/appendix/apis.md
# create references.p
# create mkdocs.yml
# create mkdocs-latex.yml
./markdown_create_apis.py -r ${BTSTACK_FOLDER} -g ${GITHUB_URL} -o ${MARKDOWN_FOLDER}
# create docs-markdown/examples/examples.md
./markdown_create_examples.py -r ${BTSTACK_FOLDER} -t ${INTRO_FOLDER} -o ${MARKDOWN_FOLDER}
# create docs-markdown/ports/existing_ports.md
./markdown_create_ports.py -r ${BTSTACK_FOLDER} -t ${INTRO_FOLDER} -o ${MARKDOWN_FOLDER}
# create docs-markdown/gatt_clients.md and docs-template/gatt_services.md
./markdown_create_gatt_services_and_clients.py -r ${BTSTACK_FOLDER} -t ${INTRO_FOLDER} -o ${MARKDOWN_FOLDER}
docs: docs-markdown
# create new docs
rm -rf ${MKDOCS_FOLDER}
cp -r ${MARKDOWN_FOLDER} ${MKDOCS_FOLDER}
# docs-markdown -> docs
./markdown_update_references.py -i ${MARKDOWN_FOLDER} -o ${MKDOCS_FOLDER} -g ${GITHUB_URL}
html: docs
# generate HTML into btstack folder
mkdocs build --clean
# post-process HTML using references.p
./html_postprocess_code_blocks.py -o ${HTML_FOLDER}
pdf: docs
rm -rf ${LATEX_FOLDER}
mkdir -p ${LATEX_FOLDER}
cp -r ${MKDOCS_FOLDER}/picts ${LATEX_FOLDER}
cp mkdocs-latex.yml mkdocs.yml
# create latex/btstack_gettingstartec.tex with version
./update_getting_started.sh ${LATEX_FOLDER}
# create latex/btstack_generated.md -> latex/btstack_final.tex
./markdown2tex.py -i ${MKDOCS_FOLDER} -o ${LATEX_FOLDER}
cp ${MKDOCS_FOLDER}/ports/*.jpg ${MKDOCS_FOLDER}/ports/*.png ${LATEX_FOLDER}
cd ${LATEX_FOLDER} && pdflatex btstack_gettingstarted.tex && pdflatex btstack_gettingstarted.tex
mv ${LATEX_FOLDER}/btstack_gettingstarted.pdf btstack.pdf
preview: docs
# race condition, open browser before starting MKdocs server
open http://127.0.0.1:8010
mkdocs serve -a localhost:8010
clean:
rm -rf ${MARKDOWN_FOLDER} ${LATEX_FOLDER} ${HTML_FOLDER} ${MKDOCS_FOLDER}
rm -f *.pdf
rm -f references.p
rm -f mkdocs.yml mkdocs-latex.yml mkdocs-temp.yml