diff options
author | Jonas Smedegaard <dr@jones.dk> | 2021-03-29 14:34:59 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2021-03-29 14:36:01 +0200 |
commit | bf4fff9a964afc7f32db8706a5148490d0f9c1f7 (patch) | |
tree | a6a4d8ee88dac1900beff74812bb97b1f87be5e1 /Makefile | |
parent | a1721c87aa07b693da55e2987885ee142ee8c292 (diff) |
isolate iki projects and forms as distinct build targets
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 27 |
1 files changed, 13 insertions, 14 deletions
@@ -25,6 +25,8 @@ always-make = $(findstring B,$(MAKEFLAGS)) avoid-broken-git = $(shell cd content && git symbolic-ref -q HEAD > /dev/null || echo " --no-rcs") iki_configfiles := $(or $(patsubst %.in,%,$(wildcard config/ikiwiki*.setup.in)),config/ikiwiki.setup) +iki_projects = $(patsubst config/%.setup,build-iki/%,$(iki_configfiles)) +form_projects := $(patsubst forms/%.cgi,build-form/%,$(wildcard forms/*.cgi forms/*/*.cgi)) init: shared/.git content $(MAKE) $(iki_configfiles) @@ -54,18 +56,15 @@ content: $(if $(notempty),,mkdir -p '$@') $(if $(notempty),,printf '# Hello world!\n\nHello world!\n' > '$@/index.mdwn') -build: - $(if $(cssprojects),$(MAKE) $(cssprojects)) - set -e;\ - $(foreach config,$(shell find config -name '*.setup'),ikiwiki --setup $(config)$(avoid-broken-git)$(if $(always-make), --rebuild, --refresh);) - set -e;\ - $(foreach path,$(patsubst forms/%,%,$(wildcard forms/*.cgi forms/*/*.cgi)),\ - install -DT 'forms/$(path)' 'build/forms/$(path)'; \ - perl -i -pe "s:'../build:'$(CURDIR)/build:g" 'build/forms/$(path)';\ - $(foreach htmlstempath,$(path:%.cgi=build/html/%/index),\ - cp -f $(htmlstempath).html $(htmlstempath).tmpl;\ - FORMBUILDER_NOHEADER=1 'build/forms/$(path)' > $(htmlstempath).html~;\ - mv -f $(htmlstempath).html~ $(htmlstempath).html;\ - rm $(htmlstempath).tmpl)) +build: $(iki_projects) $(form_projects) +$(iki_projects): build-iki/%: config/%.setup $(cssprojects) + ikiwiki --setup $<$(avoid-broken-git)$(if $(always-make), --rebuild, --refresh) +$(form_projects): build-form/%: forms/%.cgi build-iki/ikiwiki + install -DT $< build/$< + perl -i -pe "s:'../build:'$(CURDIR)/build:g" build/$< + cp -f build/html/$*/index.html build/html/$*/index.tmpl + FORMBUILDER_NOHEADER=1 build/$< > build/html/$*/index.html~ + mv -f build/html/$*/index.html~ build/html/$*/index.html + rm build/html/$*/index.tmpl -.PHONY: all build configfiles +.PHONY: all build build-iki/% build-form/% configfiles |