# Depends: myrepos git mkdocs w3c-linkchecker libconfig-tiny-perl libpath-tiny-perl libtext-hogan-perl libio-prompter-perl

-include site.mk

domain ?= example.org
eventhost ?= event.$(domain)
shellhost ?= shell.$(domain)
githost ?= source.$(domain)
gitshellhost ?= $(shellhost)
matrixhost ?= matrix.$(domain)
organisation ?= Example orga
contact_sysadmins ?= contact sysadmins
VARIABLES = domain eventhost shellhost githost gitshellhost matrixhost organisation contact_sysadmins

MKDOCS_PREP ?= bin/mkdocs-prep.pl

all: doc

doc: docs $(patsubst %,docs/%,$(subst -,/,$(notdir $(wildcard source/*))))
	mkdocs build

check:
	checklink site/index.html

# TODO: drop symlink removal when 2020-06-19 is well in the past
docs:
	mkdir -p docs
	find docs -type l -delete
	$(MKDOCS_PREP) README.md docs/index.md
	$(MKDOCS_PREP) SETUP.md docs/setup.md

docs/%: source
	mkdir -p docs/$*
	$(MKDOCS_PREP) source/$(subst /,-,$*)/README.md docs/$*/index.md
	$(if $(wildcard source/$(subst /,-,$*)/USE.md),\
		$(MKDOCS_PREP) source/$(subst /,-,$*)/USE.md docs/$*/use.md)
	$(if $(wildcard source/$(subst /,-,$*)/ADMIN.md),\
		$(MKDOCS_PREP) source/$(subst /,-,$*)/ADMIN.md docs/$*/admin.md)
	$(if $(wildcard source/$(subst /,-,$*)/SETUP.md),\
		$(MKDOCS_PREP) source/$(subst /,-,$*)/SETUP.md docs/$*/setup.md)
	$(if $(wildcard source/$(subst /,-,$*)/DEVELOP.md),\
		$(MKDOCS_PREP) source/$(subst /,-,$*)/DEVELOP.md docs/$*/devel.md)

init:
	mr update
	$(if $(wildcard site.mk),,$(foreach v,$(VARIABLES),echo $v = $($v) >> site.mk;))

clean:
	rm -rf site
	rm -rf docs

distclean: clean
	rm -rf source
	rm -f site.mk

.PHONY: all doc check clean distclean