summaryrefslogtreecommitdiff
path: root/Makefile
blob: 66f3da11cff0697fb58aed07d2152790fd59ecb7 (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
50
51
52
53
54
55
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 = $(wildcard *.membre.in)
members_pages = $(patsubst %.membre.in,$(OUTDIR)/%.html,$(members_src))

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 $@

.SECONDEXPANSION:
$(resources): $(OUTDIR)/%: % | $$(@D)
	cp $< $@

.SECONDEXPANSION:
$(images): $(OUTDIR)/%: % | $$(@D)
	cp $< $@

.SECONDEXPANSION:
$(stylesheets): $(OUTDIR)/%: % | $$(@D)
	cp $< $@

.SECONDEXPANSION:
$(pages): $(OUTDIR)/%.html: %.html %.sh template.html | $$(@D)
	./build.sh $< $*.sh $@

.SECONDEXPANSION:
$(members_pages): $(OUTDIR)/%.html: %.membre.in build-member.sh template.html | $$(@D)
	./build-member.sh $< $@

$(OUTDIR)/quatuor.html: quatuor.md
$(OUTDIR)/programmes.html: programs.in

clean:
	-rm -r $(OUTDIR)