# 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