[go: up one dir, main page]

File: Makefile

package info (click to toggle)
seer 1.1.4-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,692 kB
  • sloc: cpp: 2,945; perl: 596; python: 122; makefile: 92; sh: 43
file content (93 lines) | stat: -rwxr-xr-x 3,898 bytes parent folder | download
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
# Default prefix. Can change this to system directories if needed
PREFIX=${HOME}/software
BINDIR=$(PREFIX)/bin

# Intel compiler - uncomment if you have icpc and mkl.
# gcc
#CXX=icpc
#CXXFLAGS=-Wall -O3 -parallel -ipo -std=c++11
#SEER_LDLIBS=-L../gzstream -L$(PREFIX)/lib -lhdf5 -lgzstream -lz -larmadillo -lboost_program_options -mkl
#MAP_LDLIBS=-L$(PREFIX)/lib -lboost_program_options -mkl
#COMBINE_LDLIBS=-L../gzstream -L$(PREFIX)/lib -lgzstream -lz -lboost_program_options
#FILTER_LDLIBS=-L$(PREFIX)/lib -lboost_program_options -mkl
# gcc
CXXFLAGS+=-Wall -O3 -std=c++14
SEER_LDLIBS=-lhdf5 -lgzstream -lz -larmadillo -lboost_program_options -llapack -lblas -lpthread $(LDFLAGS)
MAP_LDLIBS=-lboost_program_options -lpthread $(LDFLAGS)
COMBINE_LDLIBS=-lgzstream -lz -lboost_program_options $(LDFLAGS)
FILTER_LDLIBS=-lboost_program_options $(LDFLAGS)

CPPFLAGS+=-D DLIB_NO_GUI_SUPPORT=1 -D DLIB_USE_BLAS=1 -D DLIB_USE_LAPACK=1 -DARMA_USE_HDF5=1

# For static linking. To use type 'make static'
# Requires icpc and mkl
# Dynamically links libm, libz, libc
COMMON_LDLIBS=-L../gzstream -L$(PREFIX)/lib -static-libstdc++ -static-libgcc -static-intel
SEER_STATIC_LDLIBS=$(COMMON_LDLIBS) -Wl,-Bstatic -lhdf5 -lgzstream -larmadillo -lboost_program_options -Wl,-Bdynamic -lz -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_sequential.a -Wl,--end-group
MAP_STATIC_LDLIBS=$(COMMON_LDLIBS) -Wl,-Bstatic -lboost_program_options -Wl,-Bdynamic
COMBINE_STATIC_LDLIBS=$(COMMON_LDLIBS) -Wl,-Bstatic -lgzstream -lboost_program_options -Wl,-Bdynamic -lz
FILTER_STATIC_LDLIBS=-$(COMMON_LDLIBS) -Wl,-Bstatic -lboost_program_options -Wl,-Bdynamic

# Full static linking with gcc
#COMMON_LDLIBS=-L../gzstream -L$(PREFIX)/lib -static -static-libstdc++ -static-libgcc
#SEER_LDLIBS=$(COMMON_LDLIBS) -L../gzstream -L$(PREFIX)/lib -lhdf5 -lgzstream -lz -larmadillo -lboost_program_options -llapack -lblas -lpthread -lgfortran -lquadmath -lm
#MAP_LDLIBS=$(COMMON_LDLIBS) -L$(PREFIX)/lib -lboost_program_options -lpthread
#COMBINE_LDLIBS=$(COMMON_LDLIBS) -L../gzstream -L$(PREFIX)/lib -lgzstream -lz -lboost_program_options
#FILTER_LDLIBS=$(COMMON_LDLIBS) -L$(PREFIX)/lib -lboost_program_options
#

PROGRAMS=seer kmds map_back combineKmers filter_seer
STATIC_PROGRAMS=seer_static kmds_static map_back_static combineKmers_static filter_seer_static

CLASSES=sample.o significant_kmer.o kmer.o covar.o
COMMON_OBJECTS=$(CLASSES) seerCommon.o seerErr.o seerIO.o seerBasicFilter.o
SEER_OBJECTS=$(COMMON_OBJECTS) seerMain.o seerCmdLine.o seerStats.o seerContinuousAssoc.o seerBinaryAssoc.o logitFunction.o linearFunction.o
KMDS_OBJECTS=$(COMMON_OBJECTS) kmdsMain.o kmdsStruct.o kmdsCmdLine.o
MAP_OBJECTS=fasta.o significant_kmer.o mapMain.o mapCmdLine.o
COMBINE_OBJECTS=combineInit.o combineCmdLine.o combineKmers.o
FILTER_OBJECTS=significant_kmer.o filter_seer.o filterCmdLine.o

all: $(PROGRAMS)

static: $(STATIC_PROGRAMS)

clean:
	$(RM) *.o ~* $(PROGRAMS)

install: all
	install -d $(BINDIR)
	install $(PROGRAMS) $(BINDIR)

seer: $(SEER_OBJECTS)
	$(LINK.cpp) $^ $(SEER_LDLIBS) -o $@

kmds: $(KMDS_OBJECTS)
	$(LINK.cpp) $^ $(SEER_LDLIBS) -o $@

map_back: $(MAP_OBJECTS)
	$(LINK.cpp) $^ $(MAP_LDLIBS) $(LDFLAGS) -o $@

combineKmers: $(COMBINE_OBJECTS)
	$(LINK.cpp) $^ $(COMBINE_LDLIBS) $(LDFLAGS) -o $@

filter_seer: $(FILTER_OBJECTS)
	$(LINK.cpp) $^ $(FILTER_LDLIBS) $(LDFLAGS) -o $@

seer_static: $(SEER_OBJECTS)
	$(LINK.cpp) $^ $(SEER_STATIC_LDLIBS) -o seer

kmds_static: $(KMDS_OBJECTS)
	$(LINK.cpp) $^ $(SEER_STATIC_LDLIBS) -o kmds

map_back_static: $(MAP_OBJECTS)
	$(LINK.cpp) $^ $(MAP_STATIC_LDLIBS) -o map_back

combineKmers_static: $(COMBINE_OBJECTS)
	$(LINK.cpp) $^ $(COMBINE_STATIC_LDLIBS) -o combineKmers

filter_seer_static: $(FILTER_OBJECTS)
	$(LINK.cpp) $^ $(FILTER_STATIC_LDLIBS) -o filter_seer


.PHONY: all static test clean install