aboutsummaryrefslogtreecommitdiff
path: root/dynamic.mk
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2022-08-30 16:26:32 -0300
committerEuAndreh <eu@euandre.org>2022-08-30 16:27:29 -0300
commit4cc04afc11f06cbe3b624c8571dc6999332fdfb1 (patch)
tree4463ea12ca82c692ec43a706753c228916addfb4 /dynamic.mk
parentsrc/development/: WIP work on Perl md2html (diff)
downloadeuandre.org-4cc04afc11f06cbe3b624c8571dc6999332fdfb1.tar.gz
euandre.org-4cc04afc11f06cbe3b624c8571dc6999332fdfb1.tar.xz
dynamic.mk: Move everything from Makefile into dynamic.mk
Diffstat (limited to '')
-rw-r--r--dynamic.mk77
1 files changed, 64 insertions, 13 deletions
diff --git a/dynamic.mk b/dynamic.mk
index a062528..0486ed5 100644
--- a/dynamic.mk
+++ b/dynamic.mk
@@ -1,4 +1,11 @@
.POSIX:
+FQDN = euandre.org
+PORT = 4444
+
+
+
+include generated.mk
+
.SUFFIXES:
@@ -19,14 +26,10 @@
.flac.ogg:
ffmpeg -y -i $< -ar 48000 -vn -c:a libvorbis -b:a 320k $@
-default: all
-include generated.mk
-
-
-pastebins.env = $(pastebins.md:.md=.env)
+pastebins.env = $(pastebins.md:.md=.env)
pastebins.html = $(pastebins.md:.md=.html)
-pastebins = $(pastebins.env) $(pastebins.html)
+pastebins = $(pastebins.env) $(pastebins.html)
html = $(pastebins.html)
@@ -38,19 +41,67 @@ 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)
+ $(html) \
+ $(lilypond) \
+ $(torrent-files) \
+ $(podcasts) \
+ $(favicons) \
+ TODOs.html \
$(html): src/development/genhtml.sh
-all: $(ALL)
+all: $(ALL) public
$(torrent-files):
mktorrent -f -v -d -n $@ -o $@ -c '' "$(@D)/`basename $@ .torrent`"
clean:
- rm -f \
- $(ALL)
+ 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 $@
+
+
+check:
+dev-check: check
+
+fqdn:
+ printf '$(FQDN)'
+
+
+disabled:
+ sh aux/assert-shellcheck.sh
+ sh aux/workflow/assert-todos.sh
+ sh scripts/assert-spelling.sh
+ sh scripts/extract-translations.sh
+ sh scripts/apply-translations.sh
+
+
+# `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) public
+ open 'http://localhost:$(PORT)'
+ serve -d public/ -p $(PORT)
+
+deploy: all
+ rsync -avzP public/ $(FQDN):/home/user-data/www/default/ --delete