HOME=/home/jaq
SPACEPANTS=$(HOME)/src/spacepants/public_html
HALFDAVE=$(HOME)/www/halfdave
PDO=$(HOME)/www/debian
SHENANIGANS=$(HOME)/www/shenanigans
GPG=/usr/bin/gpg
CONVERT=/usr/bin/convert
SIG2DOT=$(HOME)/bin/sig2dot.pl
CONF=$(SPACEPANTS)/conf
SLUG=$(SPACEPANTS)/slug
GRAPH=$(SLUG)/graph
DEBIAN=$(SPACEPANTS)/debian
SRC=$(SPACEPANTS)/src
DOC=$(HOME)/doc
QUOTES=$(DOC)/quotes
BIN=$(HOME)/bin
INTERMEDIATES := /tmp/slug-keyring.dot /tmp/slug-keyring.ps
DOTFILES := .procmailrc .muttrc .vimrc .zshrc .cvsrc
DOTTARGETS := $(patsubst .%,$(CONF)/dot.%,$(DOTFILES))
all: website
website: $(DOTTARGETS) \
$(SLUG)/slug-keyring-update $(SLUG)/slug-keyring.gpg \
$(CONF)/add_spammer.pl $(CONF)/add_whitelist.pl \
$(CONF)/Makefile $(CONF)/init.el \
$(SPACEPANTS)/jaq.gpg \
$(GRAPH)/slug-keyring.jpg \
$(wildcard $(QUOTES)/*-quotes.dat)
$(DOTTARGETS): $(CONF)/dot.%: .%
-cp $< $@
-chmod 644 $@
$(CONF)/add_spammer.pl: $(HOME)/bin/add_spammer.pl
-cp $< $@
-chmod 644 $@
$(CONF)/add_whitelist.pl: $(HOME)/bin/add_whitelist.pl
-cp $< $@
-chmod 644 $@
$(CONF)/Makefile: Makefile
-cp $< $@
-chmod 644 $@
$(CONF)/init.el: $(HOME)/.xemacs/init.el
-cp $< $@
-chmod 644 $@
$(GRAPH)/slug-keyring.jpg: $(SLUG)/slug-keyring.gpg
-mv -f $@ $(GRAPH)/slug-keyring-`date +%s`.jpg
-$(GPG) --no-options --no-default-keyring --keyring $< --list-sigs | $(SIG2DOT) > /tmp/slug-keyring.dot
-neato -Tps /tmp/slug-keyring.dot > /tmp/slug-keyring.ps
-$(CONVERT) /tmp/slug-keyring.ps $@
-chmod 644 $@
-rm stats.html
$(SLUG)/slug-keyring.gpg: ~/.gnupg/slug-keyring.gpg
cp $< $@
chmod 644 $@
$(SPACEPANTS)/jaq.gpg: $(HOME)/.gnupg/pubring.gpg
-$(GPG) --export -a jaq > $@
$(SLUG)/slug-keyring-update: $(HOME)/bin/slug-keyring-update
-cp $< $@
-chmod 644 $@
%-quotes.dat: %-quotes
strfile $<
$(SPACEPANTS)/resume.pdf: $(DOC)/resume.tex
-cp $(DOC)/resume.cls /tmp
cd /tmp && pdflatex $< && pdflatex $< && pdflatex $<
-mv /tmp/resume.pdf $@
$(SRC)/xchat/download/autorealname.pl: $(HOME)/.xchat2/autorealname.pl
cp $< $@
chmod 644 $@
clean:
-rm -rf $(INTERMEDIATES)
-rm -rf $(QUOTES)/tag-stamp
-rm -rf $(SRC)/glsnake/glsnake.html
rsync-spacepants:
find $(SPACEPANTS) -name '.xvpics' -print0 | xargs -0r rm -r
rsync -Cvzt -r --delete -e ssh \
--exclude arch \
$(SPACEPANTS)/ \
jamie@juggernaut.anchor.net.au:public_html/spacepants.org/
rsync-spacepants-octopus:
find $(SPACEPANTS) -name '.xvpics' -print0 | xargs -0r rm -r
rsync -Cvzt -r --delete -e ssh $(SPACEPANTS)/ octopus:public_html/spacepants.org/
rsync-halfdave-octopus:
find $(HALFDAVE) -name '.xvpics' -print0 | xargs -0r rm -r
rsync -Cvzt -r --delete -e ssh --exclude secret $(HALFDAVE)/ octopus:public_html/halfdave.net/
rsync-halfdave:
find $(HALFDAVE) -name '.xvpics' -print0 | xargs -0r rm -r
rsync -Cvzt -r --delete -e ssh --exclude secret $(HALFDAVE)/ jamie@juggernaut.anchor.net.au:public_html/halfdave.net/
rsync-debian:
rsync -Cvzt -r --delete -e ssh $(PDO)/ gluck:public_html/
rollout-shenanigans:
rsync -Ccvtzrl -e ssh --exclude-from=$(SHENANIGANS)/NOROLLOUT \
--delete --delete-after --delete-excluded \
$(SHENANIGANS)/ \
shenanigans@www3.anchor.net.au:public_html/
rollout-blog:
rsync -av --delete-after \
--exclude arch \
$(HOME)/src/spacepants/public_html/blog/ \
jamie@juggernaut.anchor.net.au:public_html/spacepants.org/blog/
rsync: rsync-spacepants rsync-halfdave rsync-debian rollout-shenanigans
arch-mirror: arch-mirror-spacepants arch-mirror-debian
arch-mirror-spacepants:
baz archive-mirror jaq@spacepants.org--2004
arch-mirror-debian:
tla archive-mirror jaq@debian.org--2004
out: rollout
rollout: website rsync arch-mirror rsync
.PHONY: all website clean rsync rsync-debian rsync-halfdave rsync-spacepants rollout