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
|
all: kmc
KMC_BIN_DIR = bin
KMC_MAIN_DIR = kmer_counter
KMC_API_DIR = kmc_api
KMC_DUMP_DIR = kmc_dump
KMC_TOOLS_DIR = kmc_tools
CXX := g++
CXXFLAGS += -Wall -O3 -fopenmp -std=c++11
CXXFLAGS_TOOLS := $(CXXFLAGS) -Wall -O3 -fopenmp -std=c++14
LDFLAGS += -lm -lz -lbz2 -fopenmp -lpthread
CPPFLAGS += -DDISABLE_ASMLIB
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_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_LIB_OBJS = $(sort $(wildcard $(KMC_API_DIR)/*.o))
all: kmc kmc_dump kmc_tools libkmc.a
$(KMC_OBJS) $(KMC_DUMP_OBJS) $(KMC_API_OBJS): %.o: %.cpp
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@
$(KMC_TOOLS_OBJS): %.o: %.cpp
$(CXX) $(CPPFLAGS) $(CXXFLAGS_TOOLS) -c $< -o $@
kmc: $(KMC_OBJS)
-mkdir -p $(KMC_BIN_DIR)
$(CXX) $(CLINK) -o $(KMC_BIN_DIR)/$@ $^ $(LDFLAGS)
kmc_dump: $(KMC_DUMP_OBJS) $(KMC_API_OBJS)
-mkdir -p $(KMC_BIN_DIR)
$(CXX) $(CLINK) -o $(KMC_BIN_DIR)/$@ $^ $(LDFLAGS)
kmc_tools: $(KMC_TOOLS_OBJS) $(KMC_API_OBJS)
-mkdir -p $(KMC_BIN_DIR)
$(CXX) $(CLINK) -o $(KMC_BIN_DIR)/$@ $^ $(LDFLAGS)
libkmc.a: $(KMC_API_OBJS)
ar rcs $@ $^
ranlib libkmc.a
clean:
-rm $(KMC_MAIN_DIR)/*.o
-rm $(KMC_API_DIR)/*.o
-rm $(KMC_DUMP_DIR)/*.o
-rm $(KMC_TOOLS_DIR)/*.o
-rm -rf bin
-rm -f libkmc.a
all: kmc kmc_dump kmc_tools
|