diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 31 |
1 files changed, 18 insertions, 13 deletions
@@ -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 |