-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile.UPDATE_PAPER
More file actions
66 lines (45 loc) · 1.94 KB
/
Makefile.UPDATE_PAPER
File metadata and controls
66 lines (45 loc) · 1.94 KB
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
# Master Makefile
ifndef PAPER_ROOT
$(error You must define PAPER_ROOT.)
endif
ifndef DATASET_ROOT
$(error You must define DATASET_ROOT.)
endif
ifndef JMUTATOR_ROOT
$(error You must define JMUTATOR_ROOT.)
endif
# Make available to generation scripts
export DATASET_ROOT
export JMUTATOR_ROOT
JCOMPILE_ROOT := $(shell git rev-parse --show-toplevel)
SCRIPTS := $(JCOMPILE_ROOT)/paper-scripts
TSVS := EQ.tsv NEQ1.tsv NEQ2.tsv
TABLES := $(PAPER_ROOT)/generated/table-3.tex $(PAPER_ROOT)/generated/table-4.tex
SMALL_RESULTS := \
main-jar-count \
test-jar-count \
eq-record-count \
total-oracle-record-count \
neq1-record-count \
neq2-jar-count \
neq2-record-count \
mutations-failing-verification-count \
neq3-distinct-repo-count
SMALL_RESULT_FILES := $(foreach x,$(SMALL_RESULTS),$(PAPER_ROOT)/generated/$x.tex)
# Goals
all: $(TSVS) $(TABLES) $(SMALL_RESULT_FILES)
small_results: $(SMALL_RESULT_FILES)
# Every generated .tex file depends on the script used to make it. Anything else it depends on (e.g., a .tsv file) should be added as extra separate prerequisites.
$(SMALL_RESULT_FILES): $(PAPER_ROOT)/generated/%.tex: $(SCRIPTS)/make.%.sh
mkdir -p `dirname $@`
$(SCRIPTS)/make.$*.sh > $@
$(PAPER_ROOT)/generated/main-jar-count.tex: EQ.tsv
$(PAPER_ROOT)/generated/test-jar-count.tex: EQ.tsv
$(PAPER_ROOT)/generated/eq-record-count.tex: EQ.tsv
#TODO: Currently this script changes dir to $(DATASET_ROOT) so we can't record prereqs properly :(
$(PAPER_ROOT)/generated/eq-record-count.tex: EQ.tsv
$(PAPER_ROOT)/generated/neq1-record-count.tex: NEQ1.tsv
$(PAPER_ROOT)/generated/neq2-jar-count.tex: #TODO: Fix deps
$(PAPER_ROOT)/generated/neq2-record-count.tex: #TODO: Needs to depend on NEQ2.tsv, which lives elsewhere. Fix deps
$(PAPER_ROOT)/generated/mutations-failing-verification-count.tex: #TODO: Currently reads from $(JMUTATOR_ROOT) directly. Fix deps
$(PAPER_ROOT)/generated/neq3-distinct-repo-count.tex: #TODO: Currently reads from $(DATASET_ROOT). Fix deps