]> git.phdru.name Git - phdru.name/phdru.name.git/blobdiff - Makefile
Fix(cheetah compile): chmod +x
[phdru.name/phdru.name.git] / Makefile
index 0d4e3e07cc7fe09763c18ac4b415a6eea8354aec..3583e98035dd3f5dab58f8eb25e11dfd909a4564 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,18 +1,57 @@
+# Makefile.
+#
+# This file is a part of phdru.name homepage/blog/news generator scripts.
+
+# __author__ = "Oleg Broytman <phd@phdru.name>"
+# __copyright__ = "Copyright (C) 2006-2017 PhiloSoft Design"
+
+
+.SUFFIXES: # Clear the suffix list
+.SUFFIXES: .py .tmpl .html
+
+
+%.py: %.tmpl
+       umask 022; cheetah compile --encoding=koi8-r --settings='encoding="koi8-r"' --nobackup $< && compyle $@ && chmod +x $@
+
 %.html: %.tmpl
-       @(umask 022; PYTHONPATH=.; export PYTHONPATH; cheetah fill --nobackup $<)
+       umask 022; PYTHONPATH=. PYTHONIOENCODING=koi8-r:replace cheetah fill --encoding=koi8-r --settings='encoding="koi8-r"' --nobackup --stdout $< | iconv -f utf-8 -t koi8-r >$@
+
+
+.PHONY: fast
+fast: news html
+
+
+.PHONY: all
+all: phdru.name
+
+
+.PHONY: phdru.name
+phdru.name: news blog
 
-.PHONY: phd.pp.ru
-phd.pp.ru: blog html
 
 .PHONY: blog
-blog:
+blog: phd_site.py atom_10.py rss_20.py
        ./reindex_blog_ru
+       $(MAKE) html
 
-phd_pp_ru.py: phd_pp_ru.tmpl
-       @(umask 022; cheetah compile --nobackup $<)
 
-templates = $(shell find ../htdocs/phd.pp.ru -type f -name \*.tmpl -print)
+allfiles = $(shell find ../htdocs/phdru.name -type f ! -name sitemap.xml -print)
+templates = $(shell find ../htdocs/phdru.name -type f -name \*.tmpl -print)
 htmls = $(patsubst %.tmpl,%.html,$(templates))
 
 .PHONY: html
-html: phd_pp.py phd_pp_ru.py $(htmls)
+html: phd_site.py $(htmls) sitemap
+
+
+.PHONY: news
+news: atom_10.py rss_20.py
+       (umask 022; PYTHONPATH=. ./make-news.py en ../htdocs/phdru.name && ./make-news.py ru ../htdocs/phdru.name/Russian)
+
+
+SITEMAP = ../htdocs/phdru.name/sitemap.xml
+
+.PHONY: sitemap
+sitemap: $(SITEMAP)
+
+$(SITEMAP): $(allfiles)
+       sitemap_gen.py --config=sitemaps/phdru.name-config.xml