1 This patch is a combination of many of the patches from Debian:
2 https://sources.debian.org/src/libvcflib/1.0.1+dfsg-3/debian/patches/
5 Makefile | 63 +++++++++++---------------------------------------------
6 1 file changed, 12 insertions(+), 51 deletions(-)
8 diff --git a/Makefile b/Makefile
9 index 6b13350..be85f22 100644
12 @@ -114,43 +114,25 @@ BIN_SOURCES = src/vcfecho.cpp \
14 src/vcfinfosummarize.cpp
16 -# when we can figure out how to build on mac
19 #BINS = $(BIN_SOURCES:.cpp=)
20 BINS = $(addprefix $(BIN_DIR)/,$(notdir $(BIN_SOURCES:.cpp=)))
21 SHORTBINS = $(notdir $(BIN_SOURCES:.cpp=))
23 -TABIX = tabixpp/tabix.o
24 -FASTAHACK = fastahack/Fasta.o
25 -SMITHWATERMAN = smithwaterman/SmithWatermanGotoh.o
26 -REPEATS = smithwaterman/Repeats.o
27 -INDELALLELE = smithwaterman/IndelAllele.o
28 -DISORDER = smithwaterman/disorder.o
29 -LEFTALIGN = smithwaterman/LeftAlign.o
31 FILEVERCMP = filevercmp/filevercmp.o
33 -# Work out how to find htslib
34 -# Use the one we ship in tabixpp unless told otherwise by the environment
35 -HTS_LIB ?= $(VCF_LIB_LOCAL)/tabixpp/htslib/libhts.a
36 -HTS_INCLUDES ?= -I$(VCF_LIB_LOCAL)/tabixpp/htslib
37 -HTS_LDFLAGS ?= -L$(VCF_LIB_LOCAL)/tabixpp/htslib -lhts -lbz2 -lm -lz -llzma -pthread
40 -INCLUDES = $(HTS_INCLUDES) -I$(INC_DIR)
41 -LDFLAGS = -L$(LIB_DIR) -lvcflib $(HTS_LDFLAGS) -lpthread -lz -lm -llzma -lbz2
42 +INCLUDES = -I$(INC_DIR) $(shell pkg-config --cflags htslib fastahack smithwaterman tabixpp)
43 +LDFLAGS = -L$(LIB_DIR) -lvcflib -lpthread -lz -lstdc++ -lm -llzma -lbz2 $(shell pkg-config --libs htslib fastahack smithwaterman tabixpp)
47 -all: $(OBJECTS) $(BINS) scriptToBin
48 +all: $(OBJECTS) $(BINS) scriptToBin libvcflib.a
51 $(CP) scripts/* $(BIN_DIR)
53 GIT_VERSION += $(shell git describe --abbrev=4 --dirty --always)
55 -CXXFLAGS = -Ofast -D_FILE_OFFSET_BITS=64 -std=c++0x
56 +CXXFLAGS = -Ofast -D_FILE_OFFSET_BITS=64 -std=c++0x -fPIC
58 #CXXFLAGS = -pedantic -Wall -Wshadow -Wpointer-arith -Wcast-qual
60 @@ -168,7 +150,7 @@ profiling:
62 $(MAKE) CXXFLAGS="$(CXXFLAGS) -pg" all
64 -$(OBJECTS): $(SOURCES) $(HEADERS) $(TABIX) multichoose pre $(SMITHWATERMAN) $(FILEVERCMP) $(FASTAHACK)
65 +$(OBJECTS): $(SOURCES) $(HEADERS) multichoose pre $(FILEVERCMP)
66 $(CXX) -c -o $@ src/$(*F).cpp $(INCLUDES) $(LDFLAGS) $(CXXFLAGS) && $(CP) src/*.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/
69 @@ -177,39 +159,22 @@ multichoose: pre
71 cd intervaltree && $(MAKE) && $(CP) *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/
74 - cd tabixpp && INCLUDES="$(HTS_INCLUDES)" LIBPATH="-L. $(HTS_LDFLAGS)" HTSLIB="$(HTS_LIB)" $(MAKE) && $(CP) *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/
76 -$(SMITHWATERMAN): pre
77 - cd smithwaterman && $(MAKE) && $(CP) *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/ && $(CP) *.o $(VCF_LIB_LOCAL)/$(OBJ_DIR)/
79 -$(DISORDER): $(SMITHWATERMAN)
81 -$(REPEATS): $(SMITHWATERMAN)
83 -$(LEFTALIGN): $(SMITHWATERMAN)
85 -$(INDELALLELE): $(SMITHWATERMAN)
88 - cd fastahack && $(MAKE) && $(CP) *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/ && $(CP) Fasta.o $(VCF_LIB_LOCAL)/$(OBJ_DIR)/
91 -# cd fsom && $(CXX) $(CXXFLAGS) -c fsom.c -lm
94 cd filevercmp && make && $(CP) *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/ && $(CP) *.o $(VCF_LIB_LOCAL)/$(INC_DIR)/
99 -$(BINS): $(BIN_SOURCES) libvcflib.a $(OBJECTS) $(SMITHWATERMAN) $(FASTAHACK) $(DISORDER) $(LEFTALIGN) $(INDELALLELE) $(SSW) $(FILEVERCMP) pre intervaltree
100 +$(BINS): $(BIN_SOURCES) libvcflib.so $(OBJECTS) $(SSW) $(FILEVERCMP) pre intervaltree
101 $(CXX) src/$(notdir $@).cpp -o $@ $(INCLUDES) $(LDFLAGS) $(CXXFLAGS) -DVERSION=\"$(GIT_VERSION)\"
103 -libvcflib.a: $(OBJECTS) $(SMITHWATERMAN) $(REPEATS) $(FASTAHACK) $(DISORDER) $(LEFTALIGN) $(INDELALLELE) $(SSW) $(FILEVERCMP) $(TABIX) pre
104 - ar rs libvcflib.a $(OBJECTS) smithwaterman/sw.o $(FASTAHACK) $(SSW) $(FILEVERCMP) $(TABIX)
105 +libvcflib.a: $(OBJECTS) $(SSW) $(FILEVERCMP) pre
106 + ar rs libvcflib.a $(OBJECTS) $(SSW) $(FILEVERCMP)
107 $(CP) libvcflib.a $(LIB_DIR)
109 +libvcflib.so: $(OBJECTS) $(SSW) $(FILEVERCMP) pre
110 + $(CXX) -shared -o libvcflib.so $(OBJECTS) $(SSW) $(FILEVERCMP)
111 + $(CP) libvcflib.so $(LIB_DIR)
114 @prove -Itests/lib -w tests/*.t
115 @@ -230,16 +195,12 @@ clean:
116 $(RM) $(BINS) $(OBJECTS)
117 $(RM) ssw_cpp.o ssw.o
124 - $(MAKE) clean -C tabixpp
125 - $(MAKE) clean -C smithwaterman
126 - $(MAKE) clean -C fastahack
127 $(MAKE) clean -C multichoose
128 - $(MAKE) clean -C fsom
129 - $(MAKE) clean -C libVCFH
130 $(MAKE) clean -C test
131 $(MAKE) clean -C filevercmp
132 $(MAKE) clean -C intervaltree