IKIWIKI_OPTIONS ?= \ --set srcdir='$(CURDIR)/content' \ --set destdir='$(CURDIR)/build/html' \ $(IKIWIKI_SHARED_OPTIONS) $(IKIWIKI_CONFIG_OPTIONS) cssprojects ?= $(wildcard shared/themes/goab styling) -include shared/include.mk -include config/include.mk -include shared/themes/include.mk always-make = $(filter -B,$(MAKEFLAGS)) avoid-broken-git = $(shell cd content && git symbolic-ref -q HEAD > /dev/null || echo " --no-rcs") all: build init: submodules content $(MAKE) -B config submodules: git submodule init git submodule update --init --recursive config: submodules mkdir -p '$@' [ -e '$@/'*.setup ] || ikiwiki $(IKIWIKI_OPTIONS) --dumpsetup '$@/ikiwiki.setup' content: submodules mkdir -p '$@' [ -e '$@/index.mdwn' ] || printf '# Hello world!\n\nHello world!\n' > '$@/index.mdwn' build: $(cssprojects) find config -name *.setup -exec ikiwiki --setup '{}'$(avoid-broken-git)$(if $(always-make), --rebuild) ';' .PHONY: all build submodules content