# Makefile, um HTML-Files aus wml zu machen. # Nebenbei passiert automatisches, wie z.B. Redirectseiten bauen. # # Wenn irgendwas scheinbar nicht klappt: make all SHELL := bash WML := wml #-- Alle existierenden WMLs wmls := $(wildcard *.wml) #-- Zu erzeugende HTMLs. Einfach das ".wml" durch ".html" ersetzen htmlswmls := $(addsuffix .html, $(basename $(wmls)) ) #-- Diese sollen nicht automatisch/aus Std.regel erzeugt werden htmlswmls-no := inhalt.auto.html template.html newslist.html news.rss.html wmls-no := inhalt.auto.wml template.wml newslist.wml news.rss.wml htmlswmls := $(filter-out $(htmlswmls-no),$(htmlswmls)) wmls2 := $(filter-out $(wmls-no),$(wmls)) htmls := $(wildcard *.html) #-- Defaultziel all: $(htmlswmls) inhalt.auto.html news.rss news.rss.xml everytime #$(redirects) #-- Ohne Neubau von .Makefile.in (wird per Trick verhindert, s.u.) schnell: all preupload: rechte delgen ziptabelle rechte: @chown --changes -R walter:www-data * ../var/* .svn .* @chmod --changes -R a+r * ../var/* .svn .* #-- lösche generierte tmp. Dateien delgen: @rm -f prg/tabelle/gen/*.kml @rm -f prg/tabelle/genimg/*.png ziptabelle: prg/tabelle/tabellesrc.zip prg/tabelle/tabellesrc.zip: prg/tabelle/*.php prg/tabelle/*.svg prg/tabelle/*.css @cd prg/tabelle/ && zip -o tabellesrc.zip *.php *.svg *.css linkcheck: linkchecker -v -r1 $(htmls) > .linkcheckresult.txt #-- Sonderlocken: der wird nämlich besonders aufgebaut: inhalt.auto.html: inhalt.auto.wml $(wildcard ../var/u32/inhalt/*.inhalt) $(call .wml2html,$<) #-- rss-Feed. news.rss.xml: news.rss cp news.rss news.rss.xml news.rss: newslist.wml news.rss.wml $(WML) -D WML_DEST_FILENAME=news.rss -o news.rss news.rss.wml #-- Die darf nicht automatisch gebaut werden, da die USB-Platten #-- nicht immer gemountet sind #filmliste.txt: /var/local/video0/filmliste.txt # cp /var/local/video0/filmliste.txt filmliste.txt # -- HTML aus wml bauen .wml2html =\ $(WML) -D WML_DEST_FILENAME=$@ -o $@ $< ifeq (all, $(MAKECMDGOALS)) # -- Redirects bauen # -- Aufruf "mkredirect.sh index index.htm" #%.htm: mkredirect.sh std.incl # sh mkredirect.sh $(basename $@) $@ #-- Redirectsonderfälle (falsche Dateinamen) palmpilo.htm: mkredirect.sh sh mkredirect.sh palmpilot $@ #-- Fuer diese werden Redirects gebaut (inzwischen per apache-rewrite gelöst). #redirects := \ # afusites.htm digiware.htm filespy.htm \ # gggg.htm handy.htm histcomp.htm homeeng.htm \ # index.htm inhalt.htm moni.htm nervwort.htm\ # palmpilo.htm pgp.htm \ # splitcp.htm soft_htm.htm soft_w.htm software.htm suchen.htm \ # zitate.htm #-- ggfs. Hilfsmakefile erzeugen .Makefile.in : $(wmls2) (echo "# File automagically generated by \`$(MAKE) $(MAKECMDGOALS)'";\ echo;\ for f in $^; do\ b=`basename $$f .wml`;\ if grep '^#!wml -o ' -i -q $$f; then\ output="";\ compile='$$(call .wml2html,$$<)';\ else\ output="-o $$b.html";\ compile='$$(call .wml2html,$$<)';\ fi;\ $(WML) -M $$f $$output;\ echo " $$compile";\ echo;\ done;\ ) > $@ endif #-- Einzelabhängigkeiten include .Makefile.in #geo.html: geo.wml std.incl $(wildcard download/geo/*.km*) #geo.html immer bauen, damit die Update-Icons, und die Datumsfarben immer stimmen everytime: $(WML) -D WML_DEST_FILENAME=geo.html -o geo.html geo.wml