-
Notifications
You must be signed in to change notification settings - Fork 41
/
Copy pathmakefile
127 lines (103 loc) · 3.58 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
# LIBRARY SETTINGS - SET AS NECESSARY
#
# For recent versions of BamTools (>= 2.5):
#
BOOST_PATH ?= /data/projects/phillippy/software/boost_1_60_0/
BAMTOOLS_PATH ?= /data/projects/phillippy/software/bamtools_new/install
BOOST_INCLUDE = $(BOOST_PATH)/include
BOOST_LIB = $(BOOST_PATH)/lib
BAMTOOLS_INCLUDE = $(BAMTOOLS_PATH)/include/bamtools
BAMTOOLS_SRC = $(BAMTOOLS_PATH)/src
BAMTOOLS_LIB = $(BAMTOOLS_PATH)/lib64
BAMTOOLS_LIB_2 = $(BAMTOOLS_PATH)/lib
INCS = -I$(BOOST_INCLUDE) -I$(BAMTOOLS_INCLUDE) -I$(BAMTOOLS_SRC)
LIBS = -L$(BOOST_LIB) -L$(BAMTOOLS_LIB) -L$(BAMTOOLS_LIB_2) -lboost_random -lboost_filesystem -lboost_system -lbamtools -lz -lboost_serialization
# use the following for older versions of BamTools (e.g. commit https://github.com/pezmaster31/bamtools/commit/2d7685d2aeedd11c46ad3bd67886d9ed65c30f3e)
# ... in which case you probably also have to comment in the '#include "utils/bamtools_utilities.h"' include statement in mapper/processBAM.cpp.
#
# BOOST_PATH ?= /data/projects/phillippy/software/boost_1_60_0/
# BAMTOOLS_PATH ?= /data/projects/phillippy/software/bamtools
# BOOST_INCLUDE = $(BOOST_PATH)/include
# BOOST_LIB = $(BOOST_PATH)/lib
# BAMTOOLS_INCLUDE = $(BAMTOOLS_PATH)/include
# BAMTOOLS_SRC = $(BAMTOOLS_PATH)/src
# BAMTOOLS_LIB = $(BAMTOOLS_PATH)/lib
# INCS = -I$(BOOST_INCLUDE) -I$(BAMTOOLS_INCLUDE) -I$(BAMTOOLS_SRC)
# LIBS = -L$(BOOST_LIB) -L$(BAMTOOLS_LIB) -lboost_random -lboost_filesystem -lboost_system -lbamtools -lbamtools-utils -lz -lboost_serialization
MKDIR_P = mkdir -p
.PHONY: directories
# END LIBRARY SETTINGS
#
# object and binary dirs
#
DIR_OBJ = ../obj
DIR_BIN = ../bin
#CXX = g++
COPTS = -ggdb -O2 -fopenmp -std=gnu++0x -fstack-protector-all
CFLAGS =
COMPILE = $(CXX) $(INCS) $(CFLAGS) $(COPTS)
VPATH = Graph:simulator:mapper:mapper/reads:mapper/aligner:mapper/bwa:mapper/bowtie2:Graph/graphSimulator:hla:linearALTs
OBJS = \
$(DIR_OBJ)/Edge.o \
$(DIR_OBJ)/Graph.o \
$(DIR_OBJ)/GraphAndEdgeIndex.o \
$(DIR_OBJ)/Node.o \
$(DIR_OBJ)/HaplotypePanel.o \
$(DIR_OBJ)/simpleGraphSimulator.o \
$(DIR_OBJ)/LocusCodeAllocation.o \
$(DIR_OBJ)/simulator.o \
$(DIR_OBJ)/readSimulator.o \
$(DIR_OBJ)/trueReadLevels.o \
$(DIR_OBJ)/processBAM.o \
$(DIR_OBJ)/protoSeeds.o \
$(DIR_OBJ)/oneRead.o \
$(DIR_OBJ)/oneReadPair.o \
$(DIR_OBJ)/oneReadPairwithSeedChains.o \
$(DIR_OBJ)/alignerBase.o \
$(DIR_OBJ)/alignmentContext.o \
$(DIR_OBJ)/extensionAligner.o \
$(DIR_OBJ)/BWAmapper.o \
$(DIR_OBJ)/Bowtie2mapper.o \
$(DIR_OBJ)/statistics.o \
$(DIR_OBJ)/VirtualNWUnique.o \
$(DIR_OBJ)/PRGContigBAMAlignment.o \
$(DIR_OBJ)/verboseSeedChain.o \
$(DIR_OBJ)/HLATyper.o \
$(DIR_OBJ)/pathFinder.o \
$(DIR_OBJ)/linearALTs.o \
$(DIR_OBJ)/oneExonPosition.o \
$(DIR_OBJ)/seedChain.o \
$(DIR_OBJ)/Utilities.o \
#
# list executable file names
#
EXECS = HLA-LA
OUT_DIR = ../obj ../bin
directories: ${OUT_DIR}
#
# compile and link
#
default:
@echo
@echo " to build:"
@echo " make all"
@echo
@echo " to clean:"
@echo " make clean"
@echo " make realclean"
@echo
all: directories $(EXECS)
$(EXECS): $(OBJS)
$(foreach EX, $(EXECS), $(COMPILE) $(EX).cpp -c -o $(DIR_OBJ)/$(EX).o;)
$(foreach EX, $(EXECS), $(COMPILE) $(OBJS) $(DIR_OBJ)/$(EX).o -o $(DIR_BIN)/$(EX) $(LIBS);)
$(DIR_OBJ)/%.o: %.cpp %.h
$(COMPILE) $< -c -o $@
#
# odds and ends
#
clean:
/bin/rm $(DIR_OBJ)/*
realclean: clean
/bin/rm $(DIR_BIN)/*
${OUT_DIR}:
${MKDIR_P} ${OUT_DIR}