summaryrefslogtreecommitdiff
path: root/Makefile
blob: e296e2c99f46fcc59582c1d48b20d22beabaef70 (plain)
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)