1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
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))
members_src = $(basename $(wildcard *.in))
members_pages = $(foreach m,$(members_src),$(OUTDIR)/$(m).html)
feeds = $(wildcard *.xml)
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) $(members_pages) $(resources) $(images) $(stylesheets)
$(OUTDIR) $(images_folders) $(stylesheets_folders):
mkdir $@
$(resources): $(OUTDIR)/%: % | $(OUTDIR)
cp $< $@
$(images): $(OUTDIR)/%: % | $(images_folders)
cp $< $@
$(stylesheets): $(OUTDIR)/%: % | $(stylesheets_folders)
cp $< $@
$(pages): $(OUTDIR)/%.html: %.html %.sh template.html | $(OUTDIR)
./build.sh $< $*.sh $@
$(members_pages): $(OUTDIR)/%.html: %.in template.html | $(OUTDIR)
./build-member.sh $< $@
$(OUTDIR)/quatuor.html: quatuor.md
clean:
-rm -r $(OUTDIR)
|