summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile31
1 files changed, 18 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index 4e287aa..39dcbf1 100644
--- a/Makefile
+++ b/Makefile
@@ -2,15 +2,14 @@ IKIWIKI_DEFAULTS ?= \
--rcs git \
--set cgi_wrappermode=00755 \
--set git_wrappermode=06755 \
+ --set srcdir='@CURDIR@/content' \
+ --set destdir='@CURDIR@/build/html$(iki_flavor:%=-%)' \
+ --set cgi_wrapper='@CURDIR@/build/cgi$(iki_flavor:%=-%)/ikiwiki.cgi' \
+ --set git_wrapper='@CURDIR@/build/git/post-update-ikiwiki$(iki_flavor:%=-%)' \
+ --set wikistatedir='@CURDIR@/.ikiwiki$(iki_flavor:%=-%)' \
$(IKIWIKI_SHARED_DEFAULTS)
-IKIWIKI_OPTIONS ?= \
- --set srcdir='$(CURDIR)/content' \
- --set destdir='$(CURDIR)/build/html$(iki_flavor:%=-%)' \
- --set cgi_wrapper='$(CURDIR)/build/cgi$(iki_flavor:%=-%)/ikiwiki.cgi' \
- --set git_wrapper='$(CURDIR)/build/git/post-update-ikiwiki$(iki_flavor:%=-%)' \
- --set wikistatedir='$(CURDIR)/.ikiwiki$(iki_flavor:%=-%)' \
- $(IKIWIKI_SHARED_OPTIONS)
+export CURDIR
cssprojects ?= $(wildcard shared/themes/goab styling)
@@ -25,19 +24,25 @@ avoid-broken-git = $(shell cd content && git symbolic-ref -q HEAD > /dev/null ||
iki_configfiles := $(or $(patsubst %.in,%,$(wildcard config/ikiwiki*.setup.in)),config/ikiwiki.setup)
-init: $(iki_configfiles) content
+init: shared/.git content
+ $(MAKE) $(iki_configfiles)
shared/.git:
git submodule init
git submodule update --init --recursive
-$(iki_configfiles): iki_flavor = $(if $(filter config/ikiwiki-%.setup,$@),$(@:config/ikiwiki-%.setup=%))
-$(iki_configfiles): % : %.in shared/.git
+config/ikiwiki.setup.in:
$(if $(wildcard config),,mkdir config)
- ikiwiki $(IKIWIKI_DEFAULTS) $(patsubst %,--setup %,$(wildcard $<)) $(IKIWIKI_OPTIONS) --dumpsetup $@
+ $(if $(wildcard config/ikiwiki.setup.in),,touch config/ikiwiki.setup.in)
+
+configfiles: $(iki_configfiles)
+$(iki_configfiles): iki_flavor = $(if $(filter config/ikiwiki-%.setup,$@),$(@:config/ikiwiki-%.setup=%))
+$(iki_configfiles): % : %.in
+ ikiwiki $(IKIWIKI_DEFAULTS) $(patsubst %,--setup %,$(wildcard $<)) --dumpsetup $@
+ perl -i -pe '$$s=$$ENV{'CURDIR'}; s/\@CURDIR\@/$$s/g' $@
content: notempty = $(wildcard $@/*.mdwn)
-content: shared/.git
+content:
$(if $(notempty),,mkdir -p '$@')
$(if $(notempty),,printf '# Hello world!\n\nHello world!\n' > '$@/index.mdwn')
@@ -45,4 +50,4 @@ build:
$(if $(cssprojects),$(MAKE) $(cssprojects))
$(foreach config,$(shell find config -name '*.setup'),ikiwiki --setup $(config)$(avoid-broken-git)$(if $(always-make), --rebuild);)
-.PHONY: all build
+.PHONY: all build configfiles