-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathMakefile
71 lines (63 loc) · 2.01 KB
/
Makefile
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
69
70
71
projects = content/project/*.html
groups = content/group/*.html
talks = content/talk/*.html
press = content/press_release/*.html
events = content/events/*.html content/events/2017/*.html
machines = content/machines/*.html
series_of_events = content/series-of-events/*.html
forcegenfiles = content/index.html \
content/index.en.html \
content/projects.atom.xml \
content/project_hardware.html \
content/project_software.html \
content/project_infrastructure.html \
content/project_groups.html \
content/talks.html \
content/machines.html \
content/press_release.html \
content/events.html \
content/series_of_events.html \
content/media/calendar-links.json
build: $(forcegenfiles)
docker run -it --rm --user `id -u` --volume "$(shell pwd)":/tmp/website mainframe-website-build hyde gen
cp content/media/js/libs/ol.js deploy/media/js/libs/ol.js
preview:
docker run -it --rm --user `id -u` -p 8080:8080 --volume "$(shell pwd)":/tmp/website mainframe-website-build hyde serve -a 0.0.0.0
docker:
cd docker ; docker build -t mainframe-website-build .
rmdocker:
docker rmi mainframe-website-build
# manual dependencies, touching files makes hyde regenerating it
content/index.html: $(projects) $(talks) $(events)
touch $@
content/projects.atom.xml: $(projects)
touch $@
content/project_hardware.html: $(projects)
touch $@
content/project_software.html: $(projects)
touch $@
content/project_infrastructure.html: $(projects)
touch $@
content/project_groups.html: $(groups)
touch $@
content/talks.html: $(talks)
touch $@
content/machines.html: $(machines)
touch $@
content/press_release.html: $(press)
touch $@
content/events.html: $(events)
touch $@
content/series_of_events.html: $(series_of_events)
touch $@
content/media/calendar-links.json: $(groups) $(talks) $(events)
touch $@
content/series-of-events/%.html: $(events)
touch $@
content/group/%.html: $(projects)
touch $@
upload:
./sync.sh
clean:
test -d && rm -rf deploy/
.PHONY: build docker preview upload