-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile.inc
89 lines (73 loc) · 2.14 KB
/
Makefile.inc
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
CXX = g++
INCLUDE = -I$(PJPATH)/include -I. -I$(METAG_DIR)/src/kmerdb -I$(METAG_DIR)/include
CXXFLAGS = -g -O3 -Wall -fopenmp $(INCLUDE) -D$(PJOPT) \
-DIDX_CONFIG=$(SDBIDX) -DTID_SIZE=$(TAXID_SIZE) -DDBTID_T=$(TID_T) -Wno-deprecated \
-DUSE_SORTED_DB=$(USE_SORTED_DB)
METAG_LIB = $(METAG_DIR)/src/kmerdb/lib/libmetag.a
#note: libgzstream.a *must* appear before libz.a
LIBS = $(METAG_LIB) $(PJMALLOC_LIB) -lpthread \
$(METAG_DIR)/lib/libgzstream.a -ldl \
$(METAG_DIR)/lib/libz.a
LDENV= LD_RUN_PATH=/lib:/usr/lib:$(HOME)/lib:/usr/local/lib:$(PJPATH)/lib
RUNENV= LD_LIBRARY_PATH=/lib:/usr/lib:$(HOME)/lib:/usr/local/lib:$(PJPATH)/lib
.cpp.o :
$(CXX) $(CXXFLAGS) -c $< -o $@
#--------------------------------------------------------------------
# macros for conditional compilation
#--------------------------------------------------------------------
#compile and link with PJMALLOC?
ifeq ($(BOOST), 1)
PJOPT = USE_BOOST=1 -DWITH_PJMALLOC=0
else
ifeq ($(WITH_PJMALLOC), 1)
PJOPT = WITH_PJMALLOC=1
PJMALLOC_LIB = -L$(PJPATH)/lib -ljemalloc
else
PJOPT = WITH_PJMALLOC=0
endif
endif
ifndef USE_SORTED_DB
USE_SORTED_DB=1
endif
#location of PJMALLOC lib
ifndef PJPATH
PJPATH= $(HOME)
endif
ifndef SDBIDX
SDBIDX=2027
endif
#default METAG_DIR
ifndef METAG_DIR
METAG_DIR=$(HOME)/lmat-git
endif
ifndef TAXID_SIZE
TID_T = uint16_t
TAXID_SIZE=16
else
ifeq ($(TAXID_SIZE), 32)
TID_T = uint32_t
else
TID_T = uint12_t
endif
endif
#--------------------------------------------------------------------
# usage message
#--------------------------------------------------------------------
help :
-@echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
-@echo "important environmental variables you can set on the cmd line:"
-@echo "METAG_DIR=xxx"
-@echo " pass on make cmd line, or: setenv METAG_DIR xxx"
-@echo "WITH_PJMALLOC=0|1"
-@echo "PJPATH=..."
-@echo "USE_SORTED_DB=0|1"
-@echo "TAXID_SIZE=32|16"
-@echo
-@echo "current CXXXFLAGS: $(CXXFLAGS)"
-@echo
-@echo "current INCLUDE: $(INCLUDE)"
-@echo "current LIBS: $(LIBS)"
-@echo
-@echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
-@echo
-@echo