-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
69 lines (59 loc) · 1.87 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
## List of all valid targets in this project:
## ----------------------------------------------
## all : By default the top level make will
## perform all tasks to perform
## project workflow, from data cleaning
## and analysis, through creating
## figure and table results to final
## paper generation.
##
.PHONY : all
all : data tables figures papers
## data : Perform data cleaning and data
## analysis. Parse raw captured
## data to create data sets for
## various project high level
## analysis tasks.
##
.PHONY : data
data :
cd data && $(MAKE)
## figures : Generate all figures and visualizations
## needed for paper.
##
.PHONY : figures
figures :
cd figures && $(MAKE)
## tables : Generate all tables needed for paper.
##
.PHONY : tables
tables :
cd tables && $(MAKE)
## papers : Create the paper using results and figures
## from the subprojects.
##
.PHONY : papers
papers :
cd papers && $(MAKE)
## backup : Backup raw data, use git system to add data files
## commit them and push them to the remore repository.
##
.PHONY : backup
backup :
git add data
git commit -m "Project backup target: `date`"
git push
## clean : DANGER: Remove all generated build products so can
## rebuild everything from scratch. It can take time
## especially to regenerate model data and results, so
## use this only when really want a complete clean rebuild
## of all project data and results.
##
.PHONY : clean
clean :
cd data && $(MAKE) clean && cd ../tables && $(MAKE) clean && cd ../figures && $(MAKE) clean && cd ../papers && $(MAKE) clean
## help : Get all build targets supported by this build.
##
.PHONY : help
help : Makefile
@sed -n 's/^##//p' $<