-
Notifications
You must be signed in to change notification settings - Fork 42
/
makefile_cluster3
107 lines (87 loc) · 3.05 KB
/
makefile_cluster3
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
# LIBRARY SETTINGS - SET AS NECESSARY
#
# The library settings typically require some tinkering - for reasons beyond me, sometimes one has to include
# the shared object files (.so), and sometimes the .a files (particularly for bamtools).
# Also, curiously, sometimes bamtools requires the explicit inclusion of libz (either as
# file or just via -lz)
# The following values work for me (see below for an alternative):
#
LIB_BOOST = /users/mcvean/dilthey/boost_1_59_0/lib/include
INCS = -I$(LIB_BOOST) -IGraph -I/users/mcvean/dilthey/bamtools/include -I/users/mcvean/dilthey/bamtools/src
LIBS = /users/mcvean/dilthey/boost_1_59_0/lib/lib/libboost_random.a /users/mcvean/dilthey/boost_1_59_0/lib/lib/libboost_filesystem.a /users/mcvean/dilthey/boost_1_59_0/lib/lib/libboost_system.a /users/mcvean/dilthey/boost_1_59_0/lib/lib/libboost_system.a /users/mcvean/dilthey/bamtools/lib/libbamtools.a -lz /users/mcvean/dilthey/boost_1_59_0/lib/lib/libboost_serialization.a
MKDIR_P = mkdir -p
.PHONY: directories
# END LIBRARY SETTINGS
#
# object and binary dirs
#
DIR_OBJ = ../obj_cluster3
DIR_BIN = ../bin_cluster3
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)/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-PRG-LA
OUT_DIR = ../obj_cluster3 ../bin_cluster3
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}