- sources = ikiwiki
- origin_ikiwiki = http://source.jones.dk/ikiwiki_$(underlay).git
- underlays_ikiwiki = basewiki smiley templates
- master_ikiwiki = master$(locale:%=-$(locale))
- locales_ikiwiki = da
- #dummies = content_dummy
- underlays_l10n = $(foreach source, $(sources), $(foreach locale, $(locales_$(source)), $(patsubst %,%_l10n/$(locale),$(underlays_$(source)))))
- underlays = $(foreach source, $(sources), $(underlays_$(source))) $(underlays_l10n)
- # FIXME: Handle translation of templates (needs po4a parser for HTML::Template markup)
- #potfiles = $(foreach source, $(sources), $(patsubst %,po/%.pot,$(underlays_$(source))))
- potfiles = $(filter-out templates,$(foreach source, $(sources), $(patsubst %,po/%.pot,$(underlays_$(source)))))
- pofiles = $(foreach locale, $(locales_$(source)), $(patsubst %.pot/%.$(locale).po,$(locale)))
- source_of_underlay = $(firstword $(foreach source, $(sources), $(if $(filter $(underlay),$(underlays_$(source))),$(source))))
- origin = $(origin_$(source_of_underlay))
- master = $(master_$(source_of_underlay))
- all: $(underlays) $(dummies)
- $(underlays): locale=$(if $(filter l10n/,$(lastword $(subst _, ,$(dir $@)))),$(notdir $@))
- $(underlays): underlay=$(@:%_l10n/$(locale)=%)
- $(underlays):
- mkdir -p $@
- @if [ -d "$@/.git" ]; then \
- cd $@ && \
- git pull; \
- else \
- cd $@ && \
- git init && \
- git remote add -f -t $(master) -m $(master) origin $(origin) && \
- git merge origin && \
- git config remote.origin.push +refs/heads/master:refs/heads/$(master); \
- fi
- pot: $(potfiles)
- # FIXME: The po4a plugin for HTML::Template needs to be written...
- $(potfiles): underlay=$(patsubst po/%.pot,%,$@)
- $(potfiles): fileformat=$(if $(filter templates,$(underlay)),htmltemplate,text)
- $(potfiles): filetype=$(if $(filter templates,$(underlay)),tmpl,mdwn)
- $(potfiles):
- cd $(underlay) && po4a-gettextize -M UTF-8 -L UTF-8 -f $(fileformat) $(patsubst %,-m %,$(shell cd "$(underlay)" && find * -type f -name '*.$(filetype)')) -p $(CURDIR)/$@
- $(dummies):
- mkdir -p $@
- install:
- $(error FIXME: you need to adjust ikiwiki.setup first!)
- # ikiwiki --setup ikiwiki.setup --rebuild
- # WARNING: this may wipe unrelated files too!
- ultraclean:
- rm -rf $(underlays)
- rm -rf $(dir $(underlays_l10n))
- rm -rf $(dummies)
- .PHONY: pot po translations $(underlays)
|