.POSIX: FQDN = euandre.org include generated.mk .SUFFIXES: .SUFFIXES: .md .env .html .ly .flac .midi .ogg .pdf .flac .md.env: sh src/development/frontmatter-env.sh < $< > $@ .md.html: sh src/development/genhtml.sh $< > $@ .ly.midi: lilypond -o $* $< .midi.ogg: timidity -Ov $< .flac.ogg: ffmpeg -y -i $< -ar 48000 -vn -c:a libvorbis -b:a 320k $@ pastebins.env = $(pastebins.md:.md=.env) pastebins.html = $(pastebins.md:.md=.html) pastebins = $(pastebins.env) $(pastebins.html) html = $(pastebins.html) lilypond.pdf = $(lilypond.ly:.ly=.pdf) lilypond.midi = $(lilypond.ly:.ly=.midi) lilypond.ogg = $(lilypond.ly:.ly=.ogg) lilypond = $(lilypond.pdf) $(lilypond.midi) $(lilypond.ogg) podcasts.ogg = $(podcasts.flac:.flac=.ogg) podcasts = $(podcasts.ogg) favicons = \ static/lord-favicon.png \ static/lord-favicon.ico \ favicon.ico \ ALL = \ $(html) \ $(lilypond) \ $(torrent-files) \ $(podcasts) \ $(favicons) \ TODOs.html \ public/feed.blog.en.atom \ $(html): src/development/genhtml.sh all: $(ALL) public $(torrent-files): mktorrent -f -v -d -n $@ -o $@ -c '' "$(@D)/`basename $@ .torrent`" clean: rm -rf $(ALL) public/ .jekyll-cache/ src/content/ generated.mk TODOs.html: TODOs.md sh aux/workflow/TODOs.sh -n website -m public-inbox > $@ static/lord-favicon.png: static/lord-favicon.svg inkscape -o $@ -w 2048 -h 2048 -b white static/lord-favicon.svg static/lord-favicon.ico: static/lord-favicon.svg convert static/lord-favicon.svg $@ favicon.ico: static/lord-favicon.ico ln -fs static/lord-favicon.ico $@ public/feed.blog.en.atom: mkdir -p $(@D) ln -s feed.articles.en.atom $@ check: dev-check: check fqdn: printf '$(FQDN)' # `public` depends on $(ALL) because `jekyll build` needs some of the files # generated in $(ALL), IOW for JEKYLL_COMPAT. As soon as jekyll is removed, # `public` can become an alias for `all`, and the "$(ALL) public" combo can be # replaced by "all", such as the dependencies for "run". public: $(ALL) JEKYLL_ENV=production jekyll build run: all serve -d public/ upload: all rsync \ --rsync-path='sudo -u deployer rsync' \ -avzP \ --delete \ --exclude 's/*' \ public/ $(FQDN):/srv/www/