-
Notifications
You must be signed in to change notification settings - Fork 129
/
Makefile
108 lines (81 loc) · 2.44 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
CC = g++ -Wall -ggdb
CC = g++ -pg
CC = g++
# default with OpenMP
# with OpenMP
# in command line:
# make openmp=yes
ifeq ($(openmp),no)
CCFLAGS = -DNO_OPENMP
else
CCFLAGS = -fopenmp
endif
#LDFLAGS = -static -lz -o
#LDFLAGS = /usr/lib/x86_64-linux-gnu/libz.a -o
# default with zlib
# without zlib
# in command line:
# make zlib=no
ifeq ($(zlib),no)
CCFLAGS +=
LDFLAGS += -o
else
CCFLAGS += -DWITH_ZLIB
LDFLAGS += -lz -o
endif
# support debugging
# in command line:
# make debug=yes
# make openmp=yes debug=yes
ifeq ($(debug),yes)
CCFLAGS += -ggdb
else
CCFLAGS += -O2
endif
ifdef MAX_SEQ
CCFLAGS += -DMAX_SEQ=$(MAX_SEQ)
endif
PROGS = cd-hit cd-hit-est cd-hit-2d cd-hit-est-2d cd-hit-div cd-hit-454
# Propagate hardening flags
CCFLAGS := $(CPPFLAGS) $(CCFLAGS) $(CXXFLAGS)
.c++.o:
$(CC) $(CCFLAGS) -c $<
all: $(PROGS)
clean:
rm -f *.o $(PROGS)
# programs
cd-hit: cdhit-common.o cdhit-utility.o cdhit.o
$(CC) $(CCFLAGS) cdhit.o cdhit-common.o cdhit-utility.o $(LDFLAGS) cd-hit
cd-hit-2d: cdhit-common.o cdhit-utility.o cdhit-2d.o
$(CC) $(CCFLAGS) cdhit-2d.o cdhit-common.o cdhit-utility.o $(LDFLAGS) cd-hit-2d
cd-hit-est: cdhit-common.o cdhit-utility.o cdhit-est.o
$(CC) $(CCFLAGS) cdhit-est.o cdhit-common.o cdhit-utility.o $(LDFLAGS) cd-hit-est
cd-hit-est-2d: cdhit-common.o cdhit-utility.o cdhit-est-2d.o
$(CC) $(CCFLAGS) cdhit-est-2d.o cdhit-common.o cdhit-utility.o $(LDFLAGS) cd-hit-est-2d
cd-hit-div: cdhit-common.o cdhit-utility.o cdhit-div.o
$(CC) $(CCFLAGS) cdhit-div.o cdhit-common.o cdhit-utility.o $(LDFLAGS) cd-hit-div
cd-hit-454: cdhit-common.o cdhit-utility.o cdhit-454.o
$(CC) $(CCFLAGS) cdhit-454.o cdhit-common.o cdhit-utility.o $(LDFLAGS) cd-hit-454
# objects
cdhit-common.o: cdhit-common.c++ cdhit-common.h
$(CC) $(CCFLAGS) cdhit-common.c++ -c
cdhit-utility.o: cdhit-utility.c++ cdhit-utility.h
$(CC) $(CCFLAGS) cdhit-utility.c++ -c
cdhit.o: cdhit.c++ cdhit-utility.h
$(CC) $(CCFLAGS) cdhit.c++ -c
cdhit-2d.o: cdhit-2d.c++ cdhit-utility.h
$(CC) $(CCFLAGS) cdhit-2d.c++ -c
cdhit-est.o: cdhit-est.c++ cdhit-utility.h
$(CC) $(CCFLAGS) cdhit-est.c++ -c
cdhit-est-2d.o: cdhit-est-2d.c++ cdhit-utility.h
$(CC) $(CCFLAGS) cdhit-est-2d.c++ -c
cdhit-div.o: cdhit-div.c++ cdhit-common.h
$(CC) $(CCFLAGS) cdhit-div.c++ -c
cdhit-454.o: cdhit-454.c++ cdhit-common.h
$(CC) $(CCFLAGS) cdhit-454.c++ -c
PREFIX ?= /usr/local/bin
install:
for prog in $(PROGS); do \
install -m 0755 $$prog $(PREFIX); \
done
install -m 0755 *.pl $(PREFIX);