summaryrefslogtreecommitdiff
path: root/Makefile
blob: 8d535e7715dff0c99e3bb084f5767550c96feb39 (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
56
57
58
59
60
61
62
63
64
65
66
67
68
BINDIR := ./bin
OUTDIR := ./public

HTML_SCRIPTS := \
	$(BINDIR)/make_html_index.sh \
	$(BINDIR)/make_html_table.sh \
	$(BINDIR)/make_html_archives.sh

ARCHIVES_SCRIPT := $(BINDIR)/make_archives.sh
THUMBNAILS_SCRIPT := $(BINDIR)/make_thumbnails.sh
VIDEOS_SCRIPT := $(BINDIR)/copy_videos.sh
DEMOS_SCRIPT := $(BINDIR)/copy_demos.sh

VIDEO_FILES := $(wildcard videos/*)
DEMO_FILES := $(wildcard demo/*)

TRICKS_CSV := tricks.csv
STYLE_CSS := style.css
FAVICON := favicon.png

site: $(OUTDIR)/index.html $(OUTDIR)/style.css $(OUTDIR)/favicon.png $(OUTDIR)/.archives_stamp $(OUTDIR)/.thumbnails_stamp $(OUTDIR)/.videos_stamp $(OUTDIR)/.demos_stamp

index: $(OUTDIR)/index.html

archives: $(OUTDIR)/.archives_stamp

thumbnails: $(OUTDIR)/.thumbnails_stamp

$(OUTDIR):
	mkdir -p $(OUTDIR)

$(OUTDIR)/index.html: $(OUTDIR)/style.css $(OUTDIR)/favicon.png $(OUTDIR)/.archives_stamp $(HTML_SCRIPTS) $(TRICKS_CSV) | $(OUTDIR)
	@echo ">> Building index"
	@$(BINDIR)/make_html_index.sh

$(OUTDIR)/style.css: $(STYLE_CSS) | $(OUTDIR)
	@echo ">> Copying $(STYLE_CSS)"
	cp $< $@

$(OUTDIR)/favicon.png: $(FAVICON) | $(OUTDIR)
	@echo ">> Copying $(FAVICON)"
	cp $< $@

$(OUTDIR)/.archives_stamp: $(ARCHIVES_SCRIPT) $(TRICKS_CSV) | $(OUTDIR)
	@echo ">> Generating archives"
	@$(ARCHIVES_SCRIPT)
	@touch $@

$(OUTDIR)/.thumbnails_stamp: $(THUMBNAILS_SCRIPT) $(TRICKS_CSV) | $(OUTDIR)
	@echo ">> Generating thumbnails"
	@$(THUMBNAILS_SCRIPT)
	@touch $@

$(OUTDIR)/.videos_stamp: $(VIDEOS_SCRIPT) $(VIDEO_FILES) | $(OUTDIR)
	@echo ">> Copying videos"
	@$(VIDEOS_SCRIPT)
	@touch $@

$(OUTDIR)/.demos_stamp: $(DEMOS_SCRIPT) $(DEMO_FILES) | $(OUTDIR)
	@echo ">> Copying demos"
	@$(DEMOS_SCRIPT)
	@touch $@

clean:
	@$(RM) -rv $(OUTDIR)

.PHONY: site index archives thumbnails clean