don't regenerate the feeds when non-note m4 files change main
authorAmin Bandali <bandali@gnu.org>
Sun, 16 May 2021 20:23:53 +0000 (16:23 -0400)
committerAmin Bandali <bandali@gnu.org>
Sun, 16 May 2021 20:24:43 +0000 (16:24 -0400)
GNUmakefile
get-notes.sh [new file with mode: 0755]

index 36c83f8..321b19d 100644 (file)
@@ -24,13 +24,14 @@ SITE_URL := '$(SITE_DOMAIN)$(SITE_PREFIX)'
 SRC := $(filter-out $(wildcard meta_*), $(wildcard *.m4))
 OUTPUTS := $(patsubst %.m4,out/%.html, $(SRC))
 STATIC := $(patsubst static/%,out/%, $(filter-out static/GNUmakefile, $(wildcard static/* static/.*)))
+NOTES := $(shell ./get-notes.sh)
 
 all: $(OUTPUTS) out/notes.atom out/notes.rss out/style.css out/GNUmakefile $(STATIC)
 
 out/%.html: %.m4 header.html footer.html
        @mkdir -p $(@D)
        m4 -D__d=$(SITE_DOMAIN) -D__p=$(SITE_PREFIX) $< > $@
-out/notes.%: meta_feed_%.m4 $(SRC) header.html footer.html
+out/notes.%: meta_feed_%.m4 $(NOTES) header.html footer.html
        m4 -D__d=$(SITE_DOMAIN) -D__p=$(SITE_PREFIX) $< > $@
        sed -i 's|href="/\([^/]\)|href="$(SITE_DOMAIN)/\1|' $@
        sed -i 's|href="//|href="https://|' $@
diff --git a/get-notes.sh b/get-notes.sh
new file mode 100755 (executable)
index 0000000..fa6483b
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+i=1
+n=$(echo '__latest' | m4 meta_defs.m4 -)
+
+while [ $i -le $n ]; do
+    echo "_get(\`notes', $i).m4" | m4 meta_defs.m4 -
+    i=$(($i+1))
+done