Makefile
82 lines
| 2.0 KiB
| text/x-makefile
|
MakefileLexer
/ docs / Makefile
r53 | PROJECTS = Appenlight-docs | |||
BLOG = blog | ||||
MKDOCS = ../result/bin/mkdocs | ||||
help: | ||||
@echo "" | ||||
@echo "Please use \`make <target>' where <target> is one of" | ||||
@echo " all build all projects" | ||||
@echo " bootstrap build tools needed to build projects" | ||||
@echo " ci-docs Trigger by CI server to build the documentation." | ||||
@echo " ci-docs-publish Trigger by CI server to publish the" | ||||
@echo " documentation. Requires CI_TARGET to be set." | ||||
@echo " bootstrap build tools needed to build projects" | ||||
@echo " <project> build one project. list of projects you can find below" | ||||
@echo "" | ||||
@echo "Current projects:" | ||||
@for project in $(PROJECTS); do echo " - $$project"; done | ||||
@echo "" | ||||
all: bootstrap | ||||
for item in $(PROJECTS); do \ | ||||
cd $$item && $(MAKE) html && cd ..; \ | ||||
mkdir -p www/$$item; \ | ||||
cp -R $$item/_build/html/* www/$$item/; \ | ||||
done | ||||
blog: bootstrap | ||||
for item in $(BLOG) ; do \ | ||||
echo $$item ; \ | ||||
echo "Building blog" ; \ | ||||
nix-build && cd blog && ../result/bin/mkdocs build --clean && cd .. ; \ | ||||
echo "blog build" ; \ | ||||
echo "it's in the blog/site folder. Moving to www folder" ; \ | ||||
mkdir -p www/$$item; \ | ||||
cp -R $$item/site/* www/$$item; \ | ||||
done | ||||
clean: | ||||
rm -rf result www | ||||
rm -f common.pyc | ||||
for item in $(PROJECTS); do \ | ||||
cd $$item && $(MAKE) clean && cd ..; \ | ||||
done | ||||
bootstrap: | ||||
nix-build default.nix -o result | ||||
$(PROJECTS): bootstrap | ||||
cd $@ && $(MAKE) html | ||||
# CI Integration targets | ||||
ci-docs: all | ||||
ci-docs-publish: | ||||
$(if $(value CI_TARGET),, $(error CI_TARGET has to be defined)) | ||||
@echo "Cleaning up $(CI_TARGET)" | ||||
for item in $(PROJECTS); do \ | ||||
item_dir=$(CI_TARGET)/$$item; \ | ||||
if [ -d $$item_dir ]; then \ | ||||
echo "Removing $$item"; \ | ||||
rm -fr $$item_dir; \ | ||||
fi; \ | ||||
done | ||||
@echo "Publishing built documentation" | ||||
for item in $(PROJECTS); do \ | ||||
item_dir=$(CI_TARGET)/$$item; \ | ||||
echo "Publishing $$item to $$item_dir"; \ | ||||
cp -R www/$$item $$item_dir; \ | ||||
done | ||||
# @echo "Publishing the blog internally" | ||||
# for item in $(BLOG); do \ | ||||
# item_dir=$(CI_TARGET)/$$item; \ | ||||
# echo "Publishing $$item to $$item_dir"; \ | ||||
# cp -R www/$$item $$item_dir; \ | ||||
# done | ||||