forked from refresh-bio/KMC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile_mac
97 lines (80 loc) · 2.5 KB
/
makefile_mac
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
all: kmc kmc_dump kmc_tools
KMC_BIN_DIR = bin
KMC_MAIN_DIR = kmer_counter
KMC_API_DIR = kmc_api
KMC_DUMP_DIR = kmc_dump
KMC_TOOLS_DIR = kmc_tools
CC = /usr/local/Cellar/gcc49/4.9.2/bin/g++-4.9
CFLAGS = -Wall -O3 -m64 -static-libgcc -static-libstdc++ -fopenmp -pthread -std=c++11
CLINK = -lm -fopenmp -static-libgcc -static-libstdc++ -O3 -pthread -std=c++11
KMC_TOOLS_CFLAGS = -Wall -O3 -m64 -static-libgcc -static-libstdc++ -pthread -std=c++14
KMC_TOOLS_CLINK = -lm -static-libgcc -static-libstdc++ -O3 -pthread -std=c++14
DISABLE_ASMLIB = false
KMC_OBJS = \
$(KMC_MAIN_DIR)/kmer_counter.o \
$(KMC_MAIN_DIR)/mmer.o \
$(KMC_MAIN_DIR)/mem_disk_file.o \
$(KMC_MAIN_DIR)/rev_byte.o \
$(KMC_MAIN_DIR)/bkb_writer.o \
$(KMC_MAIN_DIR)/bkb_reader.o \
$(KMC_MAIN_DIR)/fastq_reader.o \
$(KMC_MAIN_DIR)/timer.o \
$(KMC_MAIN_DIR)/radix.o \
$(KMC_MAIN_DIR)/kb_completer.o \
$(KMC_MAIN_DIR)/kb_storer.o \
$(KMC_MAIN_DIR)/kmer.o \
$(KMC_MAIN_DIR)/prob_qual.o
KMC_LIBS = \
$(KMC_MAIN_DIR)/libs/libz.1.2.5.dylib \
$(KMC_MAIN_DIR)/libs/libbz2.1.0.5.dylib
KMC_DUMP_OBJS = \
$(KMC_DUMP_DIR)/nc_utils.o \
$(KMC_API_DIR)/mmer.o \
$(KMC_DUMP_DIR)/kmc_dump.o
KMC_API_OBJS = \
$(KMC_API_DIR)/mmer.o \
$(KMC_API_DIR)/kmc_file.o \
$(KMC_API_DIR)/kmer_api.o
KMC_TOOLS_OBJS = \
$(KMC_TOOLS_DIR)/kmc_header.o \
$(KMC_TOOLS_DIR)/kmc_tools.o \
$(KMC_TOOLS_DIR)/nc_utils.o \
$(KMC_TOOLS_DIR)/parameters_parser.o \
$(KMC_TOOLS_DIR)/parser.o \
$(KMC_TOOLS_DIR)/tokenizer.o \
$(KMC_TOOLS_DIR)/fastq_filter.o \
$(KMC_TOOLS_DIR)/fastq_reader.o \
$(KMC_TOOLS_DIR)/fastq_writer.o \
$(KMC_TOOLS_DIR)/percent_progress.o
KMC_TOOLS_LIBS = \
$(KMC_TOOLS_DIR)/libs/libz.1.2.5.dylib \
$(KMC_TOOLS_DIR)/libs/libbz2.1.0.5.dylib
ifeq ($(DISABLE_ASMLIB),true)
CFLAGS += -DDISABLE_ASMLIB
KMC_TOOLS_CFLAGS += -DDISABLE_ASMLIB
else
KMC_LIBS += \
$(KMC_MAIN_DIR)/libs/libamac64.a
KMC_TOOLS_LIBS += \
$(KMC_TOOLS_DIR)/libs/libamac64.a
endif
$(KMC_OBJS) $(KMC_DUMP_OBJS) $(KMC_API_OBJS): %.o: %.cpp
$(CC) $(CFLAGS) -c $< -o $@
$(KMC_TOOLS_OBJS): %.o: %.cpp
$(CC) $(KMC_TOOLS_CFLAGS) -c $< -o $@
kmc: $(KMC_OBJS)
-mkdir -p $(KMC_BIN_DIR)
$(CC) $(CLINK) -o $(KMC_BIN_DIR)/$@ $^ $(KMC_LIBS)
kmc_dump: $(KMC_DUMP_OBJS) $(KMC_API_OBJS)
-mkdir -p $(KMC_BIN_DIR)
$(CC) $(CLINK) -o $(KMC_BIN_DIR)/$@ $^
kmc_tools: $(KMC_TOOLS_OBJS) $(KMC_API_OBJS)
-mkdir -p $(KMC_BIN_DIR)
$(CC) $(KMC_TOOLS_CLINK) -o $(KMC_BIN_DIR)/$@ $^ $(KMC_TOOLS_LIBS)
clean:
-rm $(KMC_MAIN_DIR)/*.o
-rm $(KMC_API_DIR)/*.o
-rm $(KMC_DUMP_DIR)/*.o
-rm $(KMC_TOOLS_DIR)/*.o
-rm -rf bin
all: kmc kmc_dump kmc_tools