PAGES_IN = $(wildcard pages/*)
POSTS_IN = $(wildcard posts/*.md)
MUSIC_IN = $(wildcard music/*.mp3)

PAGES_OUT = $(addprefix dist/,$(notdir $(PAGES_IN:.md=.html)))
POSTS_OUT = $(addprefix dist/blog/,$(notdir $(POSTS_IN:.md=.html)))
MUSIC_OUT = $(addprefix dist/music/,$(notdir $(MUSIC_IN)))

POST_LISTS = dist/blog/index.html dist/blog/feed.xml
MUSIC_LISTS = dist/music/index.html dist/music/feed.xml

all: $(PAGES_OUT) $(POSTS_OUT) $(MUSIC_OUT) $(POST_LISTS) $(MUSIC_LISTS)
	cp -urv static/. dist

dist/%.html: pages/%.md | dist
	scripts/template_md.py $< $@

dist/%.html: pages/%.html | dist
	cp $< $@

dist/blog/%.html: posts/%.md | dist/blog
	scripts/template_md.py $< $@

dist/music/%.mp3: music/%.mp3 | dist/music
	cp $< $@

$(POST_LISTS): $(POSTS_OUT)
	scripts/gen_blog.py posts $@

$(MUSIC_LISTS): music.json | $(OUTPUT_MUSIC)
	scripts/gen_music.py $< $@

dist/blog:
	mkdir -p dist/blog

dist/music:
	mkdir -p dist/music

dist:
	mkdir dist

.PHONY: clean upload

upload: dist
	lftp -c "set ftp:list-options -a;\
		open '$(shell cat ftp_url.txt)';\
		lcd dist;\
		cd public_html;\
		mirror --reverse"

clean:
	rm -rf dist