don't regenerate the feeds when non-note m4 files change
[~bandali/bndl.org] / GNUmakefile
index fb9fc11..321b19d 100644 (file)
@@ -1,14 +1,40 @@
-SRC := $(filter-out $(wildcard meta_*), $(wildcard *.m4 fsf-internship/*.m4))
+# GNUmakefile --- GNU Makefile for building my personal site
+
+# Copyright (C) 2020-2021 Amin Bandali <bandali@gnu.org>
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see
+# <https://www.gnu.org/licenses/>.
+
+
+SITE_DOMAIN := 'https://shemshak.org'
+SITE_PREFIX := '/~bandali'
+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 $< > $@
-out/notes.atom: meta_feed_atom.m4 ; m4 $< > $@
-out/notes.rss: meta_feed_rss.m4 ; m4 $< > $@
+       m4 -D__d=$(SITE_DOMAIN) -D__p=$(SITE_PREFIX) $< > $@
+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://|' $@
 out/GNUmakefile: GNUmakefile ; ln -s $(PWD)/$< $@
 $(STATIC): ; ln -s $(PWD)/static/$(@F) $@
 
@@ -24,8 +50,7 @@ clean:
        rm -rf out/
 
 deploy:
-       rsync -avzLP out/ abandali@bndl.org:www/site/
-       ssh abandali@bndl.org mv www/site/.htaccess-www www/.htaccess
+       rsync -avzLP out/ bandali@shemshak.org:~/public_html/
 
 watch:
        while true; do \