2008-12-08 17:54:36 +00:00
|
|
|
.PHONY: all
|
2008-03-20 23:01:31 +00:00
|
|
|
|
2016-09-08 15:08:36 +00:00
|
|
|
all: subdirs localmenus date_today SOURCEUPDATES
|
2008-12-07 01:49:05 +00:00
|
|
|
|
2008-12-08 17:54:36 +00:00
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Dive into subdirectories
|
|
|
|
# -----------------------------------------------------------------------------
|
2008-03-20 23:01:31 +00:00
|
|
|
|
2017-02-15 17:30:31 +00:00
|
|
|
SUBDIRS := $(shell find */* -name "Makefile" | xargs dirname)
|
2008-03-20 23:01:31 +00:00
|
|
|
|
2008-12-08 17:54:36 +00:00
|
|
|
.PHONY: subdirs $(SUBDIRS)
|
|
|
|
|
|
|
|
subdirs: $(SUBDIRS)
|
|
|
|
|
2017-02-15 17:30:31 +00:00
|
|
|
# run jobs for tools/ only after events/ and news/ have been completed
|
|
|
|
tools: | events news
|
|
|
|
|
2008-12-08 17:54:36 +00:00
|
|
|
$(SUBDIRS):
|
2017-01-02 14:19:05 +00:00
|
|
|
$(MAKE) -k -C $@ || true
|
2008-12-08 17:54:36 +00:00
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Handle local menus
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
HELPERFILE := menuhelper
|
|
|
|
SELECT := '<localmenu.*</localmenu>'
|
|
|
|
STYLESHEET := ./tools/buildmenu.xsl
|
|
|
|
|
2008-12-09 20:40:40 +00:00
|
|
|
FIND := ./\(.*/\)*\(.*\)\.\([a-z][a-z]\)\.xhtml:[ \t]*\(.*\)
|
2015-10-29 15:43:28 +00:00
|
|
|
REPLACE := <menuitem language="\3"><dir>/\1</dir><link>\2.html</link>\4</menuitem>
|
2008-12-08 17:54:36 +00:00
|
|
|
|
|
|
|
sources := $(shell grep -l -R --include='*.xhtml' $(SELECT) . )
|
|
|
|
|
|
|
|
.PHONY: localmenus
|
|
|
|
|
2015-10-28 21:28:21 +00:00
|
|
|
localmenus: localmenuinfo.en.xml
|
2008-12-08 17:54:36 +00:00
|
|
|
|
2015-10-29 15:43:28 +00:00
|
|
|
localmenuinfo.en.xml: $(sources) $(STYLESHEET)
|
2008-12-08 17:54:36 +00:00
|
|
|
echo \<localmenuset\> > $(HELPERFILE)
|
|
|
|
grep -R --include='*.xhtml' $(SELECT) .| sed -e 's,$(FIND),$(REPLACE),' >> $(HELPERFILE)
|
|
|
|
echo \</localmenuset\> >> $(HELPERFILE)
|
|
|
|
xsltproc -o $@ $(STYLESHEET) $(HELPERFILE)
|
2015-10-28 21:28:21 +00:00
|
|
|
rm $(HELPERFILE)
|
2016-03-24 16:13:18 +00:00
|
|
|
|
|
|
|
YEAR := <?xml version="1.0" encoding="utf-8"?><dateset><date year="$(shell date +%Y)" /></dateset>
|
|
|
|
MONTH := <?xml version="1.0" encoding="utf-8"?><dateset><date month="$(shell date +%Y-%m)" /></dateset>
|
|
|
|
DAY := <?xml version="1.0" encoding="utf-8"?><dateset><date day="$(shell date +%Y-%m-%d)" /></dateset>
|
|
|
|
|
2016-06-09 15:07:10 +00:00
|
|
|
.PHONY: date_today d_day.en.xml
|
2016-03-24 16:13:18 +00:00
|
|
|
date_today: d_year.en.xml d_month.en.xml d_day.en.xml
|
|
|
|
|
|
|
|
d_day.en.xml:
|
|
|
|
grep -q '$(DAY)' $@ || echo '$(DAY)' >$@
|
2016-06-09 15:07:10 +00:00
|
|
|
d_month.en.xml: d_day.en.xml
|
|
|
|
grep -q '$(MONTH)' $@ || echo '$(MONTH)' >$@
|
|
|
|
d_year.en.xml: d_month.en.xml
|
|
|
|
grep -q '$(YEAR)' $@ || echo '$(YEAR)' >$@
|
2016-09-07 16:35:07 +00:00
|
|
|
|
|
|
|
.PHONY: SOURCEUPDATES
|
2017-02-15 17:30:31 +00:00
|
|
|
|
|
|
|
# finish jobs in subdirs before updating .sources
|
|
|
|
SOURCEUPDATES: | subdirs
|
|
|
|
|
2016-09-07 16:35:07 +00:00
|
|
|
SOURCEUPDATES: $(shell find ./ -name '*.sources')
|
|
|
|
SOURCEREQS = $(shell ./build/source_globber.sh sourceglobs $@ |sed -r 's;$$;.??.xml;g')
|
2016-09-21 14:21:53 +00:00
|
|
|
SOURCEDIRS = $(shell sed -rn 's;^(.*/)[^/]*:(\[\]|global)$$;\1;gp' $@)
|
2016-09-07 16:35:07 +00:00
|
|
|
.SECONDEXPANSION:
|
2017-02-15 17:30:31 +00:00
|
|
|
%.sources: $$(SOURCEDIRS) $$(SOURCEREQS)
|
2016-09-21 14:21:53 +00:00
|
|
|
touch $@
|