-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
40 lines (32 loc) · 1018 Bytes
/
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
ARCHIVE=workshop-material.tar.gz
MATERIAL_DIR=build
WEBPAGE_DIR=public
DOCUMENTATION=docs/workshop
SUB_DIRECTORIES=workshop resources
CLEAN_TARGETS=$(addsuffix clean,$(SUB_DIRECTORIES))
.PHONY: all clean ${SUB_DIRECTORIES} ${CLEAN_TARGETS}
all: ${ARCHIVE} ${WEBPAGE_DIR} ${DOCUMENTATION}
${ARCHIVE}: ${MATERIAL_DIR}
tar cvfz $@ $<
${MATERIAL_DIR}: ${SUB_DIRECTORIES} ${REFERENCE}
mkdir -p $@
cp -rf resources/material/* $@/
cp -rf workshop/guide/book $@/guide
mkdir -p $@/example
cp -rf workshop/example/* $@/example
cp -rf presentation $@/presentation
${SUB_DIRECTORIES}:
${MAKE} -C $@
${WEBPAGE_DIR}: ${MATERIAL_DIR} ${ARCHIVE}
mkdir -p $@
echo "<meta http-equiv=refresh content=0;url=guide/index.html>" > $@/index.html
cp -rf $</guide $@/guide
cp -rf $</presentation $@/presentation
cp resources/public/* $@/
${DOCUMENTATION}: ${WEBPAGE_DIR}
mkdir -p $@
cp -rf $</* $@
clean: ${CLEAN_TARGETS}
rm -rf ${ARCHIVE} ${MATERIAL_DIR} ${WEBPAGE_DIR} ${DOCUMENTATION}
%clean: %
${MAKE} -C $< clean