TMP := _tmp HTML := html .PHONY: help clean html linkcheck # from https://www.thapaliya.com/en/writings/well-documented-makefiles/ via # https://til.jakelazaroff.com/make/list-all-commands-in-a-makefile/ help: @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[.a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) ##@ Main Command # after upgrade to sphinx 1.8.5, search.html is missing load of searchtools. # fix that in postprocess # also sed index.html to properly format meta og:... entries. html: doc_links ## make standalone HTML files (KEEP_HTML=1 speeds build) if [ -z "${KEEP_HTML}" ]; then rm -rf html; fi rm -f html/robots.txt # otherwise sphinx errors mkdir -p $(TMP)/doctrees $(HTML) sphinx-build -n -W -b html -d $(TMP)/doctrees . $(HTML) # install searchtools.js into search page. grep 'searchtools.js' html/search.html || sed -i -e '/language_data.js/s##\n #' html/search.html # sphinx inserts \: for : in meta tags. Get rid of the \ in # opengraph tags sed -i -e '/ templates.zip ##@ Sync/Distribution commands sourceforge_dev_sync: ## sync html directory to sourceforce /dev_docs subdir # --no-times makes _images/* and other files sync over every time # so docs_backup-... is complete with all files and can be served # as the docs tree. Without --no-times _static, _images and other # directories are missing from the backup directory. # Exclude docs_backup so it won't be deleted from sourceforge # since: # --delete-exclude # IS NOT (and must not be) SET read -p "sync to dev_docs y/N? " resp; echo "$$resp" | grep -i "^y" rsync -av --no-times --delete --exclude 'docs_backup*' \ --exclude '.buildinfo' \ --backup --backup-dir docs_backup-`date --iso-8601=seconds` \ html/. \ web.sourceforge.net:/home/project-web/roundup/htdocs/dev_docs/. sourceforge_prod_sync: ## sync html directory to sourceforce production website read -p "sync to production y/N? " resp; echo "$$resp" | grep -i "^y" rsync -av --no-times --delete --exclude 'docs_backup*' \ --backup --backup-dir docs_backup-`date --iso-8601=seconds` \ html/. \ web.sourceforge.net:/home/project-web/roundup/htdocs/. sourceforge_home_sync: ## sync html directory to sourceforge:~/roundup_docs read -p "sync to home y/N? " resp; echo "$$resp" | grep -i "^y" rsync -av --no-times --delete --exclude 'docs_backup*' \ --backup --backup-dir docs_backup-`date --iso-8601=seconds` \ html/. \ web.sourceforge.net:roundup_docs/. ##@ Setup doc_links: docs COPYING.txt ## recreate links to docs not in this tree docs: ln -s ../../doc ./docs COPYING.txt: ln -s ../../COPYING.txt COPYING.txt