### Programme ### # XSLT-Prozessor: PROCESSOR=xsltproc PFLAGS= # XML-Validator VALIDATOR=xmllint VFLAGS=--noout --valid # Downloadmanager (Alternativ: curl, fetch): WGET=wget --timestamping # rsync RSYNC=rsync RSYNC_FLAGS=--verbose --recursive --delete --delete-after --delete-excluded --checksum # Editor EDITOR?=vim # Browser BROWSER?=links ### Ressourcen ### # XSLT-Stylesheets: STYLE=xsl/xhtml.xsl DS_STYLE=xsl/datenspuren/xhtml.xsl # Document-Type-Definition: DTD:=dtd/c3d2web.dtd # Navigationsleiste: NAVIGATION=content/navigation.xml # Chaosupdates: WWW_CCC_DE_UPDATES=chaosupdates.rdf ### Ziele ### # Dateinamen der zu erzeugenden html-Dateien: CONTENT=$(PAGES) $(NEWS_PAGES) $(DS_PAGES) $(NEWSFILES) # 'normale' Seiten: PAGES:=$(patsubst content/pages/%.xml, build/%.html, $(wildcard content/pages/*.xml)) # Seiten zu einzelnen News-Items: NEWS_PAGES:=$(patsubst content/news/%.xml, build/news/%.html, $(wildcard content/news/*.xml)) # News-Index und Feeds: NEWSFILES:=www/news.html www/news-rss.xml www/news-atom.xml # Datenspuren-Seiten: DS_PAGES:=$(patsubst content/datenspuren/%.xml, www/datenspuren/%.html, $(wildcard content/datenspuren/*.xml)) www/datenspuren/schedule.html # Quellen NEWSITEMS:=$(wildcard content/news/*.xml)) CLEAN=$(CONTENT) $(NEWSFILES) $(WWW_CCC_DE_UPDATES) ### Defaults ### www: $(CONTENT) $(DTD) $(RSYNC) $(RSYNC_FLAGS) content/static build/ $@ .SILENT: check .PHONY: check check: $(PAGES) # XXX for page in $^ ; do \ echo "Checking $${page}..." ; \ $(VALIDATOR) $(VFLAGS) $${page} ; \ done rm -f www/DTD ### Regeln für den XSLT-Prozess ### www/news.html: $(STYLE) www/news-rss.xml: xsl/rss.xsl www/news-atom.xml: xsl/atom.xsl www/news.html www/news-rss.xml www/news-atom.xml: $(NAVIGATION) $(NEWSITEMS) for item in $(NEWSITEMS) ; do \ $(VALIDATOR) $(VFLAGS) $${item} || exit 1 ; \ done sh scripts/gen_news.xml.sh $(NEWS_ITEMS) | $(PROCESSOR) $(PFLAGS) -o $@ - content/datenspuren/schedule.xml: www/datenspuren/fahrplan/days.de.html cp $< $@ build/%.html: content/pages/%.xml $(STYLE) $(NAVIGATION) $(WWW_CCC_DE_UPDATES) $(VALIDATOR) $(VFLAGS) $< $(PROCESSOR) $(PFLAGS) -o $@ $(STYLE) $< www/datenspuren/%.html: content/datenspuren/%.xml $(DS_STYLE) # -- MNE-20060421: Lt. Astro geht Validierung noch nicht mit dem Fahrplan, # daher fuer Datenspuren auskommentiert $(VALIDATOR) $(VFLAGS) $< $(PROCESSOR) $(PFLAGS) -o $@ $(DS_STYLE) $< #www/news/%.html: content/news/%.xml $(STYLE) $(NAVIGATION) $(WWW_CCC_DE_UPDATES) # $(VALIDATOR) $(VFLAGS) $< # $(PROCESSOR) $(PFLAGS) -o $@ $(STYLE) $< ### Die neuesten Chaosupdates holen ### $(WWW_CCC_DE_UPDATES): $(WGET) http://www.ccc.de/updates/$(WWW_CCC_DE_UPDATES) || \ cp chaosupdates-2006-01-02.rdf $@ ### Mr. Propper ### clean: rm -f $(CLEAN) mrproper: clean rm -f $(WWW_CCC_DE_UPDATES) rm -f $(XHTML_DTD_FILES) rm -rf www-export