old-website/Makefile

33 lines
1.2 KiB
Makefile

INPUTS = index.xml
SUBDIRS = about events office news services media
first: noroot events.ics members.xml events.atom news.atom all
find ! -regex '.*/\..*' -type f ! -perm -0664 -print0 | xargs -r0 chmod u=rwX,g=rwX,o=rX || true
find ! -regex '.*/\..*' -type d ! -perm 2775 -print0 | xargs -r0 chmod 2775 || true
find ! -regex '.*/\..*' -type d ! -group www -print0 | xargs -r0 chgrp www || true
noroot:
if test $$UID = 0; then echo "don't build as root!"; exit 1; fi
members.xml:
test -e /usr/bin/ceoquery || (echo 'Erorr: ceoquery not found'; exit 1)
echo '<?xml version='\''1.0'\''?>' > $@
echo '<memberlist>' >> $@
ceoquery memberlist | sort | awk -F \| '{ name = $$1; program = $$2; userid = $$3; gsub(/&/, "\\&amp;", name); gsub(/&/, "\\&amp;", program); gsub(/"/, "\\&quot;", name); gsub(/"/, "\\&quot;", program); print "<member name=\"" name "\" program=\"" program "\" userid=\"" userid "\" />"; }' >> $@
echo '</memberlist>' >> $@
events.ics:
perl scripts/xml2ics.pl events.xml > events.ics
include default.mk
%.atom: %.xml xsl/atom.xsl
java -classpath $(CLASSPATH) net.sf.saxon.Transform -o $@ $< $(ROOT)/xsl/atom.xsl $(XSLTARGS)
sed -i 's| xmlns=""||' $@
default.mk: default.mk.in
echo 'ROOT = '`pwd` > $@
cat $< >> $@
.PHONY: members.xml