-
Notifications
You must be signed in to change notification settings - Fork 26
/
Makefile
147 lines (112 loc) · 4.07 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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
include include.mk
externalModules = zlib tokyocabinet kyotocabinet kyototycoon hdf5 pbs-drmaa clapack phast kentToolBinaries
ucscModules = sonLib jobTree pinchesAndCacti matchingAndOrdering cactus hal cactus2hal
modules = ${externalModules} ${ucscModules}
#modules = ${ucsc}
.PHONY: all %.all justUCSC %.justUCSC envRefreshRule virtPyRule pbsDrmaaRule drmaaPythonRule zlibRule tokyocabinetRule kyotocabinetRule kyototycoonRule hdf5Rule clapackRule phastRule kentToolBinariesRule %.ucsc clean %.clean justUCSCClean %.justUCSCClean zlibClean cabinetClean pbsDrmaaClean hdf5Clean clapckClean phastClean kentToolBinariesClean test %.test datasets
all : envRefreshRule virtPyRule zlibRule tokyocabinetRule kyotocabinetRule kyototycoonRule pbsDrmaaRule drmaaPythonRule clapackRule phastRule kentToolBinariesRule hdf5Rule datasets ${ucscModules:%=ucsc.%}
justUCSC : ${ucscModules:%=ucsc.%}
envRefreshRule:
rm -f ${myEnv}
virtPyRule :
python $(PWD)/virtualenv/virtualenv.py ${virtPyDir}
. ${virtPyEnv} && cd $(PWD)/networkx && ${virtPy} setup.py install
. ${virtPyEnv} && cd $(PWD)/psutil/ && ${virtPy} setup.py install
cp ${virtPyEnv} ${myEnv}
echo export PYTHONPATH=$(PWD):\$$PYTHONPATH >> ${myEnv}
echo export PATH=${virtPyDir}/bin:\$$PATH >> ${myEnv}
ifeq ($(enablePBSTorque), yes)
pbsDrmaaRule :
cd pbs-drmaa &&./configure --prefix=$(PWD)/pbs-drmaa && make && make install
echo export DRMAA_LIBRARY_PATH=$(PWD)/pbs-drmaa/lib/libdrmaa.so >> ${myEnv}
drmaaPythonRule :
. ${virtPyEnv} && cd $(PWD)/drmaa-python/ && ${virtPy} setup.py install
else
pbsDrmaaRule :
cd .
drmaaPythonRule :
cd .
endif
zlibRule :
cd zlib && ./configure --prefix=$(PWD)/zlib && make && make install
echo export PATH=$(PWD)/zlib/bin:\$$PATH >> ${myEnv}
tokyocabinetRule :
cd tokyocabinet &&./configure --prefix=$(PWD)/tokyocabinet ${ktlinkingflags} --disable-bzip && make && make install
echo export PATH=$(PWD)/tokyocabinet/bin:\$$PATH >> ${myEnv}
kyotocabinetRule :
cd kyotocabinet &&./configure --prefix=$(PWD)/kyotocabinet ${ktlinkingflags} && make && make install
echo export PATH=$(PWD)/kyotocabinet/bin:\$$PATH >> ${myEnv}
kyototycoonRule :
cd kyototycoon &&./configure --prefix=$(PWD)/kyototycoon ${ktlinkingflags} --with-kc=$(PWD)/kyotocabinet && make && make install
echo export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) >> ${myEnv}
echo export PATH=$(PWD)/kyototycoon/bin:\$$PATH >> ${myEnv}
ifneq ($(TARGETOS), Darwin)
CLAPACKPHASTFLAGS = CLAPACKPATH=$(PWD)/clapack
clapackRule :
cd clapack && make f2clib && make blaslib && make lib
else
CLAPACKPHASTFLAGS =
clapackRule :
cd .
endif
ifdef ENABLE_PHYLOP
phastRule :
cd phast/src && make $(CLAPACKPHASTFLAGS)
echo export PATH=$(PWD)/phast/bin:\$$PATH >> ${myEnv}
else
phastRule :
cd .
endif
kentToolBinariesRule :
cd kentToolBinaries && make
echo export PATH=$(PWD)/kentToolBinaries:\$$PATH >> ${myEnv}
hdf5Rule :
cd hdf5 &&./configure --prefix=$(PWD)/hdf5 --enable-cxx && make && make install
echo export PATH=$(PWD)/hdf5/bin:\$$PATH >> ${myEnv}
# Important to export environment to override sonlib/include.mk
export
ucsc.%:
cd $* && make
echo export PATH=$(PWD)/$*/bin:\$$PATH >> ${myEnv}
clean: cabinetClean hdf5Clean pbsDrmaaClean zlibClean clapackClean phastClean kentToolBinariesClean ${ucscModules:%=clean.%}
clean.%:
cd $* && make clean
justUCSCClean: ${ucscModules:%=justUCSCClean.%}
justUCSCClean.%:
cd $* && make clean
zlibClean:
cd zlib && make clean
cabinetClean:
cd kyotocabinet && make clean
cd kyototycoon && make clean
rm -f $(PWD)/tokyocabinet/lib/*.a $(PWD)/kyotocabinet/lib/*.a $(PWD)/kyototycoon/lib/*.a
ifeq ($(enablePBSTorque), yes)
pbsDrmaaClean:
cd pbs-drmaa && make clean
else
pbsDrmaaClean:
cd .
endif
ifneq ($(TARGETOS), Darwin)
clapackClean :
cd clapack && make clean
else
clapackClean :
cd .
endif
ifdef ENABLE_PHYLOP
phastClean :
cd phast/src && make clean
else
phastClean :
cd .
endif
kentToolBinariesClean :
cd kentToolBinaries && make clean
hdf5Clean:
cd hdf5 && make clean
test: ${ucscModules:%=test.%}
test.%:
. ${myEnv} && cd $* && make test
datasets:
echo export SON_TRACE_DATASETS=$(PWD)/cactusTestData >> ${myEnv}