WGET = wget -qO $@
DEJAVU_VERSION = 2.34
PATH := $(PATH):/home/cel/bin
DEPS = fonts/dejavu-sans.ttf\
tablesort.min.js
SRC_MD = $(filter-out %.comments.md,$(wildcard *.md))
SRC_SH = $(wildcard *.html.sh)
PAGES =\
$(SRC_MD:.md=.html) \
$(filter-out template.html,$(SRC_SH:.sh=)) \
feed.xml\
images/activity.png
SRC =\
$(SRC_MD:.md=.md.html) \
$(SRC_SH:.html.sh=.sh.html) \
feed.sh.html\
Makefile.html
ALL = $(PAGES) $(DEPS) $(SRC)
LOGINTIME_DIR ?= ~/Code/logintime
get_md_title = $(shell sed -n '/^\[title\]/ s/.*(\(.*\))/\1/p' <$<)
all: site deps
deps: $(DEPS)
site: $(PAGES) $(SRC)
.gitignore: Makefile
for dep in $(ALL); do echo $$dep; done >$@
%.sh.html: %.html.sh source.sh template.html.sh
PAGE=$* ./source.sh $< >$@
%.html: %.html.sh template.html.sh %.comments.md
PAGE=$(*:index=) SOURCE=$*.sh.html ./$< > $@
%.html: %.md template.html.sh %.comments.md
markdown <$< | PAGE=$* SOURCE=$*.md.html TITLE="$(get_md_title)" \
./template.html.sh >$@
%.html: %
PAGE=$(basename $*) ./source.sh $< >$@
guestbook/guestbook.txt:
touch $@
%.comments.md:
touch $@
index.html: links.tsv links.awk \
guestbook/guestbook.txt guestbook/guestbook-html.awk
.git/info/refs:
git update-server-info
feed.xml: feed.sh xml.awk .git/info/refs
./$< > $@
loginstats.html: tablesort.min.js $(LOGINTIME_DIR)/stats.awk $(LOGINTIME_DIR)/sfirst
images/activity.png:
last1 /var/log/wtmp* | histogram 900 96 | pngspark $@ -c E9A934 -h 60 -s 0.9
update-loginstats:
rm -f loginstats.html images/activity.png
@make --no-print-directory loginstats.html images/activity.png
dejavu-sans.zip:
$(WGET) http://sourceforge.net/projects/dejavu/files/dejavu/$(DEJAVU_VERSION)/dejavu-sans-ttf-$(DEJAVU_VERSION).zip/download
fonts/dejavu-sans.ttf: dejavu-sans.zip | fonts
unzip -p $^ dejavu-sans-ttf-$(DEJAVU_VERSION)/ttf/DejaVuSans.ttf >$@
fonts:
mkdir -p $@
tablesort.min.js:
$(WGET) https://raw.githubusercontent.com/tristen/tablesort/gh-pages/tablesort.min.js
clean:
rm -f $(PAGES) $(SRC)
clean-all:
rm -f $(ALL)
.PHONY: all site deps
.INTERMEDIATE: dejavu-sans.zip