8
8
9
9
dir-bin := ./bin
10
10
dir-data := replicate-results
11
- bin-aln := implied-align
12
- bin-aln-path := $(dir-bin ) /$(bin-aln )
13
- bin-gen := generate-timings
14
- bin-gen-path := $(dir-bin ) /$(bin-gen )
11
+ programs-needed := generate-timings implied-align newick-add-delete-taxon reduce-fasta
12
+ programs-placed := $(addprefix $(dir-bin ) /,$(programs-needed ) )
15
13
measure-script := measure-scaling-performance.sh
16
14
measure-dataset := $(dir-bin ) /$(measure-script ) using
17
- prerequisites := $(bin-aln-path ) $(bin-aln-path ) ensure-python ensure-workspace
18
-
15
+ prerequisites := $(programs-placed ) ensure-python ensure-workspace
19
16
20
17
# All synonyms for replicating the paper's results.
21
- replicate : results
22
-
23
- reproduce : results
24
-
25
- results : fungi metazoa pathological
18
+ replicate reproduce results : fungi metazoa pathological
26
19
27
20
28
21
# Install dependencies required to replicate results.
@@ -45,16 +38,20 @@ ensure-workspace:
45
38
46
39
47
40
# Build binaries
48
- require := ensure-haskell $(wildcard app/** /* .hs) $(wildcard src/** /* .hs)
49
- install := ghcup run --ghc 9.2.1 --cabal 3.6.2.0 -- \
50
- cabal update && cabal install $(bin-gen ) $(bin-aln ) \
51
- --installdir=$(dir-bin ) --install-method=copy
41
+ project := cabal.project efficient-implied-alignment.cabal
42
+ sources := $(wildcard app/** /* .hs) $(wildcard src/** /* .hs)
43
+ require := ensure-haskell $(project ) $(sources )
44
+ compile := ghcup run --ghc 9.2.1 --cabal 3.6.2.0 --
45
+
46
+ install : $(refresh ) $(require )
47
+ @$(compile ) cabal install \
48
+ $(programs-needed ) --installdir=$(dir-bin ) --install-method=copy
52
49
53
- $( bin-aln-path ) : $( require )
54
- @$(install )
50
+ refresh :
51
+ @$(compile ) cabal update
55
52
56
- $(bin-gen-path ) : $( require )
57
- @$(install )
53
+ $(programs-placed ) :
54
+ @$(MAKE ) --no-print-directory install
58
55
59
56
60
57
# Generate timing data of data sets
@@ -95,7 +92,21 @@ measure:
95
92
96
93
# Clean up after replicating results
97
94
clean :
98
- @rm -fr replicate-results
99
- @rm -fr dist-newstyle
100
- @rm -f $(bin-aln-path )
101
- @rm -f $(bin-gen-path )
95
+ rm -fr replicate-results
96
+ rm -fr dist-newstyle
97
+ rm -f $(programs-placed )
98
+
99
+ .PHONY : \
100
+ clean \
101
+ ensure-haskell \
102
+ ensure-python \
103
+ ensure-workspace \
104
+ fungi \
105
+ install \
106
+ measure \
107
+ metazoa \
108
+ pathological \
109
+ refresh \
110
+ replicate \
111
+ reproduce \
112
+ results
0 commit comments