summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile22
1 files changed, 17 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 811ceab..af585b7 100644
--- a/Makefile
+++ b/Makefile
@@ -1,27 +1,39 @@
OUTDIR = public
+dirname = $(patsubst %/,%,$(dir $(1)))
+dirnames = $(sort $(call dirname,$(1)))
+
pages_src = $(filter-out template.html,$(wildcard *.html))
pages = $(foreach p,$(pages_src),$(OUTDIR)/$(p))
-sheets = $(wildcard *.css)
-images = $(wildcard *.svg)
feeds = $(wildcard *.xml)
-resources_src = $(sheets) $(images) $(feeds)
+resources_src = $(feeds)
resources = $(foreach f,$(resources_src),$(OUTDIR)/$(f))
+images = $(foreach img,$(shell find images -type f),$(OUTDIR)/$(img))
+images_folders = $(call dirnames,$(images))
+
+stylesheets = $(foreach img,$(shell find stylesheets -type f),$(OUTDIR)/$(img))
+stylesheets_folders = $(call dirnames,$(stylesheets))
.PHONY: all clean site
all: site
-site: $(pages) $(resources)
+site: $(pages) $(resources) $(images) $(stylesheets)
-$(OUTDIR):
+$(OUTDIR) $(images_folders) $(stylesheets_folders):
mkdir $@
$(resources): $(OUTDIR)/%: % | $(OUTDIR)
cp $< $@
+$(images): $(OUTDIR)/%: % | $(images_folders)
+ cp $< $@
+
+$(stylesheets): $(OUTDIR)/%: % | $(stylesheets_folders)
+ cp $< $@
+
# TODO: optional dependency to .sh template parameters.
$(pages): $(OUTDIR)/%.html: %.html template.html | $(OUTDIR)
./build.sh $< $@