wowana.me

website source; use git clone git://wowana.me/wowana.me.git to clone this repository.


Makefile (1238B)


      1 .PHONY := all check clean upload
      2 BLOGSRC := $(wildcard src/blog/*.md)
      3 SRC := $(wildcard src/*.md src/pages/*.md src/mirrors/*.md) $(BLOGSRC)
      4 XHT_OBJ := $(SRC:%.md=%.part.xht) src/blog/index.part.xht
      5 OBJ := $(XHT_OBJ)
      6 FINAL := $(XHT_OBJ:src/%.part.xht=out/%.xht) out/blog/index.xht out/blog/feed.atom
      7 MARKDOWN := hoedown --xhtml
      8 RSYNC_REMOTE := yululu:/mnt/www/wowana.me/
      9 
     10 .INTERMEDIATE: $(OBJ)
     11 
     12 all: $(FINAL)
     13 	rm -f ./src/git.part.xht
     14 
     15 check: $(FINAL)
     16 	xmllint --nonet --noout $^
     17 
     18 clean:
     19 	# only removes files we generated, not manually-created files
     20 	rm -f $(FINAL) $(OBJ)
     21 
     22 upload:
     23 	rsync -Pauvz --exclude-from=rsync-ignore --delete out/ $(RSYNC_REMOTE)
     24 
     25 src/%.part.xht: src/%.md
     26 	./scripts/altnet < $< | $(MARKDOWN) > $@
     27 
     28 src/blog/index.part.xht: $(BLOGSRC) src/blog-header.inc
     29 	( \
     30 		cat src/blog-header.inc; \
     31 		grep '^<!--\[time ' $(BLOGSRC) | sed -r 's/([^:]+):(.*)/\2:\1/' | \
     32 			sort -r | cut -d: -f2 | scripts/blog-index) | $(MARKDOWN) > $@
     33 
     34 out/%.xht: src/%.part.xht src/header.inc src/footer.inc
     35 	mkdir -p `dirname $@`
     36 	./scripts/postproc $< > $@
     37 
     38 out/blog/feed.atom: $(BLOGSRC:%.md=%.part.xht)
     39 	./scripts/feed $$(ls -1t $^) > $@
     40 
     41 scripts/fp: CFLAGS += -Wno-implicit-int
     42 scripts/fp: src/fp.c
     43 	$(CC) -o $@ $< $(CFLAGS) -lcrypto