summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--repo/www/.gitignore3
-rw-r--r--repo/www/Makefile19
2 files changed, 12 insertions, 10 deletions
diff --git a/repo/www/.gitignore b/repo/www/.gitignore
index edad99c..16d3c4d 100644
--- a/repo/www/.gitignore
+++ b/repo/www/.gitignore
@@ -1,2 +1 @@
-deps.mk
-site-tree.json
+.cache
diff --git a/repo/www/Makefile b/repo/www/Makefile
index 3c5f813..fb933c8 100644
--- a/repo/www/Makefile
+++ b/repo/www/Makefile
@@ -13,25 +13,28 @@ text_folders = $(call dirnames,$(shell git ls-files $(text_patterns)))
all: site
+cache = .cache
# Maps folders to their contents (files and subfolders).
-site_tree = site-tree.json
+site_tree = $(cache)/site-tree.json
# Defines $(pages) and $(indices).
-dependencies = deps.mk
+dependencies = $(cache)/deps.mk
-$(site_tree): $(text_folders)
+$(site_tree): $(text_folders) | $(cache)
./generate-tree.py -o $@ $(TEXT_FILES)
-$(dependencies): $(site_tree)
+$(dependencies): $(site_tree) | $(cache)
./generate-deps.py $< $@ $(OUT_DIR)
include $(dependencies)
site: $(pages) $(indices)
-# $(text_folders) may be missing some intermediate folders since it
-# only contains folders that hold some text files. Rely on the full
-# list of HTML pages and indices.
-$(call dirnames,$(pages) $(indices)):
+# List of output folders. Compute this from the full list of HTML
+# pages, since $(text_folders) may be missing some intermediate
+# directories (e.g. folders that only contain subfolders).
+html_folders = $(call dirnames,$(pages) $(indices))
+
+$(html_folders) $(cache):
mkdir -p $@
$(pages): $(OUT_DIR)/%.html: