+# 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) $@
rm -rf out/
deploy:
- rsync -avzLP out/ abandali@bndl.org:www/bndl.org/
- ssh abandali@bndl.org mv www/bndl.org/.htaccess-www www/.htaccess
+ rsync -avzLP out/ bandali@shemshak.org:~/public_html/
watch:
while true; do \