| 
 | 1 | +UNAME_S := $(shell uname -s)  | 
 | 2 | + | 
 | 3 | +SRC = src/colord  | 
 | 4 | + | 
 | 5 | +ifeq ($(UNAME_S),Darwin)  | 
 | 6 | +	CC=/usr/local/bin/g++-10  | 
 | 7 | +	CFLAGS = -Wall -O3 -std=c++17 -static-libgcc -static-libstdc++ -pthread  | 
 | 8 | +	CLINK = -Wall -O3 -std=c++17 -static-libgcc -static-libstdc++ -lpthread  | 
 | 9 | + | 
 | 10 | +	CFLAGS_KMC = -Wall -O3 -m64 -static -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -std=c++11  | 
 | 11 | +	CLINK_KMC = -lm -static -O3 -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -std=c++11  | 
 | 12 | + | 
 | 13 | +else  | 
 | 14 | +	CC=g++  | 
 | 15 | +	CFLAGS = -Wall -O3 -std=c++17 -static -Wl,--whole-archive -lstdc++fs -lpthread -Wl,--no-whole-archive  | 
 | 16 | +	CLINK = -Wall -O3 -std=c++17 -static -Wl,--whole-archive -lstdc++fs -lpthread -Wl,--no-whole-archive	  | 
 | 17 | + | 
 | 18 | +	CFLAGS_KMC = -Wall -O3 -m64 -static-libgcc -static-libstdc++ -fopenmp -pthread -std=c++11  | 
 | 19 | +	CLINK_KMC = -lm -fopenmp -static-libgcc -static-libstdc++ -O3 -pthread -std=c++11  | 
 | 20 | +endif  | 
 | 21 | + | 
 | 22 | + | 
 | 23 | + | 
 | 24 | + | 
 | 25 | + | 
 | 26 | +BIN_DIR = bin  | 
 | 27 | + | 
 | 28 | +OBJS = \  | 
 | 29 | +$(SRC)/utils.o \  | 
 | 30 | +$(SRC)/timer.o \  | 
 | 31 | +$(SRC)/stats_collector.o \  | 
 | 32 | +$(SRC)/reads_sim_graph.o \  | 
 | 33 | +$(SRC)/quality_coder.o \  | 
 | 34 | +$(SRC)/quality_coder_impl.o \  | 
 | 35 | +$(SRC)/pooled_threads.o \  | 
 | 36 | +$(SRC)/main.o \  | 
 | 37 | +$(SRC)/in_reads.o \  | 
 | 38 | +$(SRC)/id_coder.o \  | 
 | 39 | +$(SRC)/filter_kmers.o \  | 
 | 40 | +$(SRC)/entr_header.o \  | 
 | 41 | +$(SRC)/encoder.o \  | 
 | 42 | +$(SRC)/dna_coder.o \  | 
 | 43 | +$(SRC)/decompression.o \  | 
 | 44 | +$(SRC)/info.o \  | 
 | 45 | +$(SRC)/count_kmers.o \  | 
 | 46 | +$(SRC)/compression.o \  | 
 | 47 | +$(SRC)/basic_coder.o \  | 
 | 48 | +$(SRC)/arg_parse.o \  | 
 | 49 | +$(SRC)/archive.o \  | 
 | 50 | +$(SRC)/reference_genome.o \  | 
 | 51 | +$(SRC)/libs/edlib/edlib.o \  | 
 | 52 | +$(SRC)/libs/kmc_api/kmc_file.o \  | 
 | 53 | +$(SRC)/libs/kmc_api/kmer_api.o \  | 
 | 54 | +$(SRC)/libs/kmc_api/mmer.o   | 
 | 55 | + | 
 | 56 | +COBJS = \  | 
 | 57 | +$(SRC)/libs/md5/md5.o  | 
 | 58 | + | 
 | 59 | +ifeq ($(UNAME_S),Darwin)  | 
 | 60 | +    LIBS = \  | 
 | 61 | +	$(SRC)/libs/zlib/libz.mac.a \  | 
 | 62 | +	$(SRC)/libs/mimalloc/libmimalloc.mac.a \  | 
 | 63 | +	$(SRC)/libs/count_kmers/libfiltering_kmc.mac.a \  | 
 | 64 | +	$(SRC)/libs/count_kmers/libbz2.1.0.5.dylib  | 
 | 65 | + | 
 | 66 | +	LIB_FILTERING_KMC = $(SRC)/libs/count_kmers/libfiltering_kmc.mac.a  | 
 | 67 | +else  | 
 | 68 | +	LIBS = \  | 
 | 69 | +	$(SRC)/libs/zlib/libz.a \  | 
 | 70 | +	$(SRC)/libs/mimalloc/libmimalloc.a \  | 
 | 71 | +	$(SRC)/libs/count_kmers/libfiltering_kmc.a \  | 
 | 72 | +	$(SRC)/libs/count_kmers/libbz2.a  | 
 | 73 | + | 
 | 74 | +	LIB_FILTERING_KMC = $(SRC)/libs/count_kmers/libfiltering_kmc.a  | 
 | 75 | +endif  | 
 | 76 | + | 
 | 77 | + | 
 | 78 | +$(BIN_DIR)/colord: $(OBJS) $(COBJS) $(LIB_FILTERING_KMC)  | 
 | 79 | +	-mkdir -p $(BIN_DIR)  | 
 | 80 | +	$(CC) $(CLINK) -o $@ $^ $(LIBS)  | 
 | 81 | + | 
 | 82 | +$(OBJS): %.o: %.cpp  | 
 | 83 | +	$(CC) $(CFLAGS)  -I $(SRC)/libs/zlib -I $(SRC)/libs/kmc_api -I $(SRC)/libs/edlib -I $(SRC)/libs/CLI11 -c $< -o $@  | 
 | 84 | + | 
 | 85 | +$(COBJS): %.o: %.c  | 
 | 86 | +	$(CC) $(CFLAGS)  -I $(SRC)/libs/zlib -I $(SRC)/libs/kmc_api -I $(SRC)/libs/edlib -I $(SRC)/libs/CLI11 -c $< -o $@  | 
 | 87 | + | 
 | 88 | + | 
 | 89 | +KMC_MAIN_DIR = src/filtering-KMC  | 
 | 90 | + | 
 | 91 | +KMC_OBJS = \  | 
 | 92 | +$(KMC_MAIN_DIR)/kmer_counter.o \  | 
 | 93 | +$(KMC_MAIN_DIR)/mmer.o \  | 
 | 94 | +$(KMC_MAIN_DIR)/mem_disk_file.o \  | 
 | 95 | +$(KMC_MAIN_DIR)/rev_byte.o \  | 
 | 96 | +$(KMC_MAIN_DIR)/bkb_writer.o \  | 
 | 97 | +$(KMC_MAIN_DIR)/cpu_info.o \  | 
 | 98 | +$(KMC_MAIN_DIR)/bkb_reader.o \  | 
 | 99 | +$(KMC_MAIN_DIR)/fastq_reader.o \  | 
 | 100 | +$(KMC_MAIN_DIR)/timer.o \  | 
 | 101 | +$(KMC_MAIN_DIR)/develop.o \  | 
 | 102 | +$(KMC_MAIN_DIR)/kb_completer.o \  | 
 | 103 | +$(KMC_MAIN_DIR)/kb_storer.o \  | 
 | 104 | +$(KMC_MAIN_DIR)/kmer.o \  | 
 | 105 | +$(KMC_MAIN_DIR)/splitter.o \  | 
 | 106 | +$(KMC_MAIN_DIR)/kb_collector.o  | 
 | 107 | + | 
 | 108 | +ifeq ($(UNAME_S),Darwin)  | 
 | 109 | +	RADULS_OBJS =   | 
 | 110 | +else  | 
 | 111 | +	RADULS_OBJS = \  | 
 | 112 | +	$(KMC_MAIN_DIR)/raduls_sse2.o \  | 
 | 113 | +	$(KMC_MAIN_DIR)/raduls_sse41.o \  | 
 | 114 | +	$(KMC_MAIN_DIR)/raduls_avx2.o \  | 
 | 115 | +	$(KMC_MAIN_DIR)/raduls_avx.o  | 
 | 116 | + | 
 | 117 | +endif  | 
 | 118 | + | 
 | 119 | +$(KMC_OBJS): %.o: %.cpp  | 
 | 120 | +	$(CC) $(CFLAGS_KMC) -c $< -o $@  | 
 | 121 | + | 
 | 122 | + | 
 | 123 | + | 
 | 124 | + | 
 | 125 | +$(KMC_MAIN_DIR)/raduls_sse2.o: $(KMC_MAIN_DIR)/raduls_sse2.cpp  | 
 | 126 | +	$(CC) $(CFLAGS_KMC) -msse2 -c $< -o $@  | 
 | 127 | +$(KMC_MAIN_DIR)/raduls_sse41.o: $(KMC_MAIN_DIR)/raduls_sse41.cpp  | 
 | 128 | +	$(CC) $(CFLAGS_KMC) -msse4.1 -c $< -o $@  | 
 | 129 | +$(KMC_MAIN_DIR)/raduls_avx.o: $(KMC_MAIN_DIR)/raduls_avx.cpp  | 
 | 130 | +	$(CC) $(CFLAGS_KMC) -mavx -c $< -o $@  | 
 | 131 | +$(KMC_MAIN_DIR)/raduls_avx2.o: $(KMC_MAIN_DIR)/raduls_avx2.cpp  | 
 | 132 | +	$(CC) $(CFLAGS_KMC) -mavx2 -c $< -o $@  | 
 | 133 | +	  | 
 | 134 | + | 
 | 135 | + | 
 | 136 | +$(LIB_FILTERING_KMC): $(KMC_OBJS) $(RADULS_OBJS)  | 
 | 137 | +	-mkdir -p $(BIN_DIR)  | 
 | 138 | +	ar rcs $@ $^  | 
 | 139 | + | 
 | 140 | +clean:  | 
 | 141 | +	-rm -f $(SRC)/*.o  | 
 | 142 | +	-rm -f $(SRC)/libs/edlib/edlib.o  | 
 | 143 | +	-rm -f $(SRC)/libs/kmc_api/kmc_file.o  | 
 | 144 | +	-rm -f $(SRC)/libs/kmc_api/kmer_api.o  | 
 | 145 | +	-rm -f $(SRC)/libs/kmc_api/mmer.o  | 
 | 146 | +	-rm -f $(KMC_MAIN_DIR)/*.o  | 
 | 147 | +	-rm -f $(LIB_FILTERING_KMC)  | 
 | 148 | +	-rm -rf bin	  | 
 | 149 | + | 
 | 150 | + | 
 | 151 | +all:	$(BIN_DIR)/colord  | 
0 commit comments