You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
5.2 KiB
124 lines
5.2 KiB
* unbundle htslib
|
|
* honour all user flags
|
|
* use pkg-config for linking
|
|
|
|
--- a/source/Makefile
|
|
+++ b/source/Makefile
|
|
@@ -8,24 +8,12 @@
|
|
LDFLAGSextra ?=
|
|
CXXFLAGSextra ?=
|
|
|
|
-# user may define the compiler
|
|
-CXX ?= g++
|
|
-
|
|
# pre-defined flags
|
|
-LDFLAGS_shared := -pthread -Lhtslib -Bstatic -lhts -Bdynamic -lz -lrt
|
|
-LDFLAGS_static := -static -static-libgcc -pthread -Lhtslib -lhts -lz
|
|
-LDFLAGS_Mac :=-pthread -lz htslib/libhts.a
|
|
-LDFLAGS_Mac_static :=-pthread -lz -static-libgcc htslib/libhts.a
|
|
-LDFLAGS_gdb := $(LDFLAGS_shared)
|
|
-
|
|
COMPTIMEPLACE := -D'COMPILATION_TIME_PLACE="$(shell echo `date` $(HOSTNAME):`pwd`)"'
|
|
|
|
-CXXFLAGS_common := -pipe -std=c++11 -Wall -Wextra -fopenmp $(COMPTIMEPLACE)
|
|
-CXXFLAGS_main := -O3 $(CXXFLAGS_common)
|
|
-CXXFLAGS_gdb := -O0 -g $(CXXFLAGS_common)
|
|
-
|
|
-CFLAGS := -O3 -pipe -Wall -Wextra $(CFLAGS)
|
|
-
|
|
+CFLAGS_common = -Wall -Wextra -pthread `$(PKG_CONFIG) --cflags htslib` `$(PKG_CONFIG) --cflags zlib`
|
|
+CXXFLAGS_common = $(CFLAGS_common) -std=c++11 -fopenmp $(COMPTIMEPLACE)
|
|
+LIBS_common = -pthread `$(PKG_CONFIG) --libs htslib` `$(PKG_CONFIG) --libs zlib` -lrt
|
|
|
|
##########################################################################################################
|
|
|
|
@@ -54,10 +42,10 @@
|
|
|
|
|
|
%.o : %.cpp
|
|
- $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $<
|
|
+ $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXFLAGS_common) $<
|
|
|
|
%.o : %.c
|
|
- $(CXX) -c $(CPPFLAGS) $(CFLAGS) $<
|
|
+ $(CXX) -c $(CPPFLAGS) $(CFLAGS) $(CFLAGS_common) $<
|
|
|
|
all: STAR
|
|
|
|
@@ -84,7 +72,7 @@
|
|
ifneq ($(MAKECMDGOALS),CLEAN)
|
|
ifneq ($(MAKECMDGOALS),STARforMac)
|
|
ifneq ($(MAKECMDGOALS),STARforMacGDB)
|
|
-Depend.list: $(SOURCES) parametersDefault.xxd htslib
|
|
+Depend.list: $(SOURCES) parametersDefault.xxd
|
|
echo $(SOURCES)
|
|
/bin/rm -f ./Depend.list
|
|
$(CXX) $(CXXFLAGS_common) -MM $^ >> Depend.list
|
|
@@ -95,57 +83,34 @@
|
|
endif
|
|
endif
|
|
|
|
-htslib : htslib/libhts.a
|
|
-
|
|
-htslib/libhts.a :
|
|
- $(MAKE) -C htslib lib-static
|
|
-
|
|
parametersDefault.xxd: parametersDefault
|
|
xxd -i parametersDefault > parametersDefault.xxd
|
|
|
|
-STAR : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) $(CXXFLAGS)
|
|
-STAR : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_shared) $(LDFLAGS)
|
|
STAR : Depend.list parametersDefault.xxd $(OBJECTS)
|
|
- $(CXX) -o STAR $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
|
|
+ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STAR $(OBJECTS) $(LIBS) $(LIBS_common)
|
|
|
|
-POSIXSHARED : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) -DPOSIX_SHARED_MEM $(CXXFLAGS)
|
|
-POSIXSHARED : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_shared) $(LDFLAGS)
|
|
POSIXSHARED : Depend.list parametersDefault.xxd $(OBJECTS)
|
|
- $(CXX) -o STAR $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
|
|
+ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STAR $(OBJECTS) $(LIBS) $(LIBS_common)
|
|
|
|
-STARstatic : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) $(CXXFLAGS)
|
|
-STARstatic : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_static) $(LDFLAGS)
|
|
STARstatic : Depend.list parametersDefault.xxd $(OBJECTS)
|
|
- $(CXX) -o STAR $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
|
|
+ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STAR $(OBJECTS) $(LIBS) $(LIBS_common)
|
|
|
|
-STARlong : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) -D'COMPILE_FOR_LONG_READS' $(CXXFLAGS)
|
|
-STARlong : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_shared) $(LDFLAGS)
|
|
STARlong : Depend.list parametersDefault.xxd $(OBJECTS)
|
|
- $(CXX) -o STARlong $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
|
|
+ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STARlong $(OBJECTS) $(LIBS) $(LIBS_common)
|
|
|
|
-STARlongStatic : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) -D'COMPILE_FOR_LONG_READS' $(CXXFLAGS)
|
|
-STARlongStatic : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_static) $(LDFLAGS)
|
|
STARlongStatic : Depend.list parametersDefault.xxd $(OBJECTS)
|
|
- $(CXX) -o STARlong $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
|
|
+ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STARlong $(OBJECTS) $(LIBS) $(LIBS_common)
|
|
|
|
-gdb : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_gdb) $(CXXFLAGS)
|
|
-gdb : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_gdb) $(LDFLAGS)
|
|
gdb : Depend.list parametersDefault.xxd $(OBJECTS)
|
|
- $(CXX) -o STAR $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
|
|
+ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STAR $(OBJECTS) $(LIBS) $(LIBS_common)
|
|
|
|
-gdb-long : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_gdb) -D'COMPILE_FOR_LONG_READS' $(CXXFLAGS)
|
|
-gdb-long : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_gdb) $(LDFLAGS)
|
|
gdb-long : Depend.list parametersDefault.xxd $(OBJECTS)
|
|
- $(CXX) -o STARlong $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
|
|
+ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STARlong $(OBJECTS) $(LIBS) $(LIBS_common)
|
|
|
|
-STARforMacStatic : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) -D'COMPILE_FOR_MAC' $(CXXFLAGS)
|
|
-STARforMacStatic : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_Mac_static) $(LDFLAGS)
|
|
STARforMacStatic : Depend.list parametersDefault.xxd $(OBJECTS)
|
|
- $(CXX) -o STAR $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
|
|
+ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STAR $(OBJECTS) $(LIBS) $(LIBS_common)
|
|
|
|
-STARlongForMacStatic : CXXFLAGS := -D'COMPILE_FOR_LONG_READS' $(CXXFLAGSextra) $(CXXFLAGS_main) -D'COMPILE_FOR_MAC' $(CXXFLAGS)
|
|
-STARlongForMacStatic : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_Mac_static) $(LDFLAGS)
|
|
STARlongForMacStatic : Depend.list parametersDefault.xxd $(OBJECTS)
|
|
- $(CXX) -o STARlong $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
|
|
+ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STARlong $(OBJECTS) $(LIBS) $(LIBS_common)
|
|
|
|
|