forked from pb-cdunn/pitchfork
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
483 lines (467 loc) · 14.5 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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
RULE?=do-install
default:
override PFHOME:=${CURDIR}
-include settings.mk
include ./mk/config.mk
include ./mk/bootstrap.mk
include ./mk/init.mk # in case we want to re-run init/sanity
UNAME = uname
ARCH := $(shell $(UNAME) -m)
OPSYS := $(shell $(UNAME) -s)
SHELL = /bin/bash -e
PREFIX ?= deployment
default:
@echo "'make init' must occur before any other rule."
@echo "You can do that manually, or let it happen automatically as 'initialized.mk' is generated."
@echo "CCACHE_DIR=${CCACHE_DIR}"
@echo "PREFIX=${PREFIX}"
# Please add dependencies after this line
ccache: initialized.o
openssl: ccache
zlib: ccache
boost: ccache
ifeq ($(origin HAVE_PYTHON),undefined)
python: ccache zlib openssl ncurses readline
else ifneq ($(origin HAVE_OPENSSL),undefined)
python: openssl
else ifneq ($(origin HAVE_LIBSSL),undefined)
python: openssl
endif
readline: ccache ncurses
samtools: ccache zlib ncurses
bamtools: ccache zlib
cmake: ccache zlib
ncurses: ccache
openblas: ccache
hdf5: ccache zlib
swig: ccache python
libpng: ccache zlib
hmmer: ccache
gmap: ccache zlib
sbt: jre
libbzip2: ccache
pip: python
cython: pip ccache
ifeq ($(OPSYS),Darwin)
numpy: pip cython
else
numpy: pip cython openblas
endif
h5py: pip hdf5 numpy six
jsonschema: pip functools32
pydot: pip pyparsing
fabric: pip paramiko ecdsa pycrypto
rdflib: pip six isodate html5lib
matplotlib: pip numpy libpng pytz six pyparsing python-dateutil cycler
rdfextras: pip rdflib
scipy: pip numpy
appnope: pip
avro: pip
decorator: pip
docopt: pip
ecdsa: pip
functools32: pip
gnureadline: pip readline
html5lib: pip
ipython_genutils: pip
iso8601: pip
isodate: pip
jinja2: pip MarkupSafe
networkx: pip decorator matplotlib
paramiko: pip
path.py: pip
pexpect: pip
pickleshare: pip
ptyprocess: pip
pycrypto: pip
pyparsing: pip
pysam: pip zlib cython
python-dateutil: pip
pytz: pip
requests: pip
simplegeneric: pip
six: pip
traitlets: pip
xmlbuilder: pip
nose: pip
cram: pip
cycler: pip
MarkupSafe: pip
tabulate: pip
CramUnit: cram nose xmlbuilder
# Not part of pacbio developers' software collection
nim: ccache zlib
tcl: ccache zlib
modules: ccache tcl
ssw_lib: ccache pip
fasta2bam: ccache pbbam htslib zlib boost cmake
scikit-image: pip numpy decorator six networkx matplotlib pillow
pillow: pip
dask.array: pip toolz numpy
toolz: pip
ipython: pip traitlets pickleshare appnope decorator gnureadline pexpect ipython_genutils path.py ptyprocess simplegeneric
Cogent: pip numpy scipy networkx scikit-image biopython bx-python PuLP ssw_lib mash matplotlib
biopython: pip numpy
bx-python: pip zlib
PuLP: pip
# software from pacbio
htslib: ccache zlib
blasr_libcpp: ccache boost hdf5 pbbam
blasr: ccache blasr_libcpp hdf5 cmake
bax2bam: ccache blasr_libcpp hdf5 cmake
bam2bax: ccache blasr_libcpp hdf5 cmake
pbbam: ccache samtools cmake boost htslib gtest
dazzdb: ccache
daligner: ccache dazzdb
damasker: ccache
dextractor: ccache
pbdagcon: ccache dazzdb daligner pbbam blasr_libcpp gtest
bam2fastx: ccache pbbam htslib zlib boost cmake pbcopper
#
pbcore: pysam h5py
pbh5tools: h5py pbcore
pbbarcode: pbh5tools pbcore numpy h5py
pbcoretools: pbcore pbcommand
pbcommand: xmlbuilder jsonschema avro requests iso8601 numpy tabulate pytz
pbsmrtpipe: pbcommand jinja2 networkx pbcore pbcommand pyparsing pydot jsonschema xmlbuilder requests fabric nose
falcon_kit: networkx daligner dazzdb damasker pbdagcon pypeFLOW
FALCON_unzip: falcon_kit
falcon_polish: falcon_kit blasr GenomicConsensus pbcoretools dextractor bam2fastx pbalign
falcon: falcon_polish # an alias
pbfalcon: falcon_polish pbsmrtpipe #pbreports
pbreports: matplotlib cython numpy h5py pysam jsonschema pbcore pbcommand
kineticsTools: scipy pbcore pbcommand h5py
pypeFLOW: networkx
pbalign: pbcore samtools blasr pbcommand
ConsensusCore: numpy boost swig cmake
GenomicConsensus: pbcore pbcommand numpy h5py ConsensusCore unanimity
smrtflow: sbt
pbtranscript: scipy networkx pysam pbcore pbcommand pbcoretools pbdagcon hmmer blasr GenomicConsensus gmap
pbccs: unanimity
unanimity: boost swig cmake htslib pbbam seqan pbcopper numpy
pbcopper: cmake boost zlib
#
pblaa: htslib pbbam seqan unanimity
ppa: boost cmake pbbam htslib
trim_isoseq_polyA: boost cmake zlib libbzip2
pysiv2: fabric requests nose xmlbuilder pbsmrtpipe pbcoretools
PacBioTestData: pip
# end of dependencies
# meta rules
reseq-core: \
pbsmrtpipe pbalign blasr pbreports GenomicConsensus pbbam pbcoretools unanimity
isoseq-core: \
reseq-core pbtranscript trim_isoseq_polyA hmmer gmap biopython cram nose
world: \
reseq-core pbfalcon kineticsTools \
isoseq-core ssw_lib mash \
ipython cram nose
# rules
ifeq ($(origin USE_CCACHE),undefined)
ccache: ;
else
ccache:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
endif
ifeq ($(OPSYS),Darwin)
HAVE_ZLIB ?=
readline: ;
ncurses: ;
tcl: ;
libpng: ;
else
readline:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
ncurses:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
tcl:
$(MAKE) -j1 -C ports/thirdparty/$@ ${RULE}
libpng:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
endif
openblas:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
zlib:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
hdf5:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
gtest:
$(MAKE) -C ports/thirdparty/$@ do-install
# gtest misses a do-clean rule.
gmock:
$(MAKE) -C ports/thirdparty/$@ do-install
# gmock misses a do-clean rule.
boost:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
samtools:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
bamtools:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
ifeq ($(origin HAVE_CMAKE),undefined)
cmake:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
else
cmake: ;
endif
swig:
$(MAKE) -j1 -C ports/thirdparty/$@ ${RULE}
hmmer:
$(MAKE) -j1 -C ports/thirdparty/$@ ${RULE}
gmap:
$(MAKE) -j1 -C ports/thirdparty/$@ ${RULE}
jre:
$(MAKE) -j1 -C ports/thirdparty/$@ ${RULE}
sbt:
$(MAKE) -j1 -C ports/thirdparty/$@ ${RULE}
libbzip2:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
openssl:
$(MAKE) -C ports/thirdparty/libressl ${RULE}
ifeq ($(origin HAVE_PYTHON),undefined)
python:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
else
python:
# No do-clean rule here.
$(MAKE) -j1 -C ports/python/virtualenv do-install
endif
pip:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
numpy:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
cython:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
xmlbuilder:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
jsonschema:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
avro:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
requests:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
iso8601:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
jinja2:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
networkx:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
pyparsing:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
pydot:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
fabric:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
h5py:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
docopt:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
pysam:
$(MAKE) --no-print-directory -s -j1 -C ports/python/$@ ${RULE}
six:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
rdflib:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
rdfextras:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
matplotlib:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
scipy:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
traitlets:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
pickleshare:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
appnope:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
decorator:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
gnureadline:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
pexpect:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
ipython_genutils:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
path.py:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
ptyprocess:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
simplegeneric:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
paramiko:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
ecdsa:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
pycrypto:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
isodate:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
html5lib:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
functools32:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
pytz:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
python-dateutil:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
nose:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
cram:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
cycler:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
MarkupSafe:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
tabulate:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
CramUnit:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
#
blasr_libcpp:
$(MAKE) -C ports/pacbio/$@ ${RULE}
blasr:
$(MAKE) -C ports/pacbio/$@ ${RULE}
bax2bam:
$(MAKE) -C ports/pacbio/$@ ${RULE}
bam2bax:
$(MAKE) -C ports/pacbio/$@ ${RULE}
htslib:
$(MAKE) -C ports/pacbio/$@ ${RULE}
seqan:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pbbam:
$(MAKE) -C ports/pacbio/$@ ${RULE}
dazzdb:
$(MAKE) -C ports/pacbio/$@ ${RULE}
daligner:
$(MAKE) -C ports/pacbio/$@ ${RULE}
damasker:
$(MAKE) -C ports/pacbio/$@ ${RULE}
dextractor:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pbdagcon:
$(MAKE) -C ports/pacbio/$@ ${RULE}
bam2fastx:
$(MAKE) -C ports/pacbio/$@ ${RULE}
#
pbcore:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pbcommand:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pbsmrtpipe:
$(MAKE) -C ports/pacbio/$@ ${RULE}
falcon_kit:
$(MAKE) -C ports/pacbio/$@ ${RULE}
FALCON_unzip:
$(MAKE) -C ports/pacbio/$@ ${RULE}
falcon_polish:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pbfalcon:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pypeFLOW:
$(MAKE) -C ports/pacbio/$@ ${RULE}
ConsensusCore:
$(MAKE) -C ports/pacbio/$@ ${RULE}
GenomicConsensus:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pbreports:
$(MAKE) -C ports/pacbio/$@ ${RULE}
kineticsTools:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pbalign:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pbcoretools:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pbtranscript:
$(MAKE) -C ports/pacbio/$@ ${RULE}
unanimity:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pbcopper:
$(MAKE) -C ports/pacbio/$@ ${RULE}
#
pblaa:
$(MAKE) -C ports/pacbio/$@ ${RULE}
#
pbh5tools:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pbbarcode:
$(MAKE) -C ports/pacbio/$@ ${RULE}
ppa:
$(MAKE) -C ports/pacbio/$@ ${RULE}
Cogent:
$(MAKE) -C ports/pacbio/$@ ${RULE}
#
smrtflow:
$(MAKE) -C ports/pacbio/$@ ${RULE}
trim_isoseq_polyA:
$(MAKE) -j1 -C ports/pacbio/$@ ${RULE}
#
pysiv2:
$(MAKE) -C ports/pacbio/$@ ${RULE}
# Not part of pacbio developers' software collection
nim:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
modules:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
mash:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
ssw_lib:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
scikit-image:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
pillow:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
dask.array:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
toolz:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
ipython:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
biopython:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
bx-python:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
PuLP:
$(MAKE) -j1 -C ports/python/$@ ${RULE}
fasta2bam:
$(MAKE) -C ports/pacbio/$@ ${RULE}
PacBioTestData:
$(MAKE) -C ports/pacbio/$@ ${RULE}
clean-%:
$(MAKE) -C ports/pacbio/$* do-clean
distclean-%:
test -e ports/pacbio/$* && $(MAKE) -C ports/pacbio/$* do-distclean || true
test -e ports/thirdparty/$* && $(MAKE) -C ports/thirdparty/$* do-distclean || true
test -e ports/python/$* && $(MAKE) -C ports/python/$* do-distclean || true
reinstall-%:
$(MAKE) -C ports/pacbio/$* do-uninstall
$(MAKE) -C ports/pacbio/$* do-distclean
$(MAKE) -C ports/pacbio/$* do-install
clean: clean-blasr_libcpp clean-blasr clean-htslib clean-seqan clean-pbbam clean-unanimity clean-dazzdb clean-daligner clean-damasker clean-dextractor clean-pbdagcon clean-bam2fastx clean-pbcore clean-pbcommand clean-pbsmrtpipe clean-falcon_kit clean-pbfalcon clean-pypeFLOW clean-ConsensusCore clean-GenomicConsensus clean-pbreports clean-kineticsTools clean-pbalign clean-pbcoretools clean-pblaa clean-pbh5tools clean-pbbarcode clean-ppa clean-Cogent
distclean: distclean-blasr_libcpp distclean-blasr distclean-htslib distclean-seqan distclean-pbbam distclean-unanimity distclean-dazzdb distclean-daligner distclean-damasker distclean-dextractor distclean-pbdagcon distclean-bam2fastx distclean-pbcore distclean-pbcommand distclean-pbsmrtpipe distclean-falcon_kit distclean-pbfalcon distclean-pypeFLOW distclean-ConsensusCore distclean-GenomicConsensus distclean-pbreports distclean-kineticsTools distclean-pbalign distclean-pbcoretools distclean-pblaa distclean-pbh5tools distclean-pbbarcode distclean-ppa distclean-Cogent
test: PacBioTestData test-pbtranscript
test-pbtranscript: pbtranscript CramUnit
$(MAKE) -C ports/pacbio/pbtranscript do-test
test-pbdagcon: pbdagcon
$(MAKE) -C ports/pacbio/pbdagcon do-test
test-pbfalcon: pbfalcon nose pbreports
$(MAKE) -C ports/pacbio/pbfalcon do-test
test-bam2bax: bam2bax
$(MAKE) -C ports/pacbio/bam2bax do-test-bam2bax
test-bax2bam: bax2bam
$(MAKE) -C ports/pacbio/bax2bam do-test-bax2bam
test-falcon_polish: falcon_polish nose
$(MAKE) -C ports/pacbio/falcon_polish do-test
# extra testing section conflicts with other installation
samtools-0.1.20: ccache zlib ncurses
samtools-0.1.20:
$(MAKE) -C ports/thirdparty/$@ ${RULE}
# R (experimental)
Rcpp: ccache
pbbamr: Rcpp zlib
Rcpp:
$(MAKE) -C ports/R/$@ ${RULE}
pbbamr:
$(MAKE) -C ports/pacbio/$@ ${RULE}
pbcommandr:
$(MAKE) -C ports/pacbio/$@ ${RULE}
.PHONY: ConsensusCore GenomicConsensus MarkupSafe appnope avro biopython blasr boost ccache cmake Cogent cram cycler cython dazzdb daligner damasker dextractor decorator default docopt ecdsa fabric gmap gmock gnureadline gtest hmmer htslib ipython isodate jsonschema kineticsTools libpng matplotlib modules ncurses networkx nim nose numpy openblas openssl paramiko pbalign pbbam unanimity pbchimera pbcommand pbcore pbcoretools pbdagcon pbfalcon pblaa pbreports pexpect pickleshare pip ppa ptyprocess pycrypto pydot pyparsing pypeFLOW pysam python pytz pyxb rdfextras rdflib readline requests samtools scipy seqan simplegeneric six swig tcl traitlets world xmlbuilder zlib pbh5tools tabulate pbbarcode