-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmakefile
More file actions
55 lines (38 loc) · 2.72 KB
/
makefile
File metadata and controls
55 lines (38 loc) · 2.72 KB
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
GPP=$(CXX)
CPPFLAGS=-Wall -Wextra -std=c++17 -O3 -g -Izstr/src -Iedlib/edlib/include -Iparallel-hashmap/parallel_hashmap/ -Icxxopts/include -Wno-unused-parameter `pkg-config --cflags zlib`
# silly workaround: bamtools does not have pkg-config cflags for finding the include directory
# instead assume it's a folder at the same location as zlib
CPPFLAGS+=`pkg-config --cflags zlib`/bamtools
ODIR=obj
BINDIR=bin
SRCDIR=src
LIBS=`pkg-config --libs zlib` -lbamtools
_DEPS = fastqloader.h FastHasher.h VerkkoReadAssignment.h ReadExtractor.h KmerMatcher.h ClusterHandler.h VerkkoTangleGuesser.h RibotinUtils.h WfaHelper.h TwobitString.h TangleGuesser.h HifiasmIntegration.h CommonParams.h HeavyPath.h ClusterMisc.h SequenceAligner.h LoopPhasing.h FileHelper.h ConsensusHelper.h LoopAnalysis.h Logger.h
DEPS = $(patsubst %, $(SRCDIR)/%, $(_DEPS))
_OBJ = fastqloader.o FastHasher.o VerkkoReadAssignment.o ReadExtractor.o KmerMatcher.o ClusterHandler.o VerkkoTangleGuesser.o RibotinUtils.o WfaHelper.o TwobitString.o TangleGuesser.o HifiasmIntegration.o CommonParams.o HeavyPath.o ClusterMisc.o SequenceAligner.o LoopPhasing.o FileHelper.o ConsensusHelper.o LoopAnalysis.o Logger.o
OBJ = $(patsubst %, $(ODIR)/%, $(_OBJ))
LINKFLAGS = $(CPPFLAGS) $(LIBS) -lpthread -pthread -static-libstdc++
TEMPLATEPATH := $(realpath template_seqs)
VERSION := Branch $(shell git rev-parse --abbrev-ref HEAD) commit $(shell git rev-parse HEAD) $(shell git show -s --format=%ci)
$(shell mkdir -p bin)
$(shell mkdir -p obj)
all: $(BINDIR)/ribotin-verkko $(BINDIR)/ribotin-hifiasm $(BINDIR)/ribotin-ref
$(BINDIR)/ribotin-verkko: $(OBJ) $(ODIR)/ribotin-verkko.o edlib/edlib/src/edlib.cpp
$(GPP) -o $@ $^ $(LINKFLAGS)
$(BINDIR)/ribotin-hifiasm: $(OBJ) $(ODIR)/ribotin-hifiasm.o edlib/edlib/src/edlib.cpp
$(GPP) -o $@ $^ $(LINKFLAGS)
$(BINDIR)/ribotin-ref: $(OBJ) $(ODIR)/ribotin-ref.o edlib/edlib/src/edlib.cpp
$(GPP) -o $@ $^ $(LINKFLAGS)
$(ODIR)/CommonParams.o: $(SRCDIR)/CommonParams.cpp $(DEPS) $(OBJ)
$(GPP) -c -o $@ $< $(CPPFLAGS) -DVERSION="\"$(VERSION)\"" -DRIBOTIN_TEMPLATE_PATH="\"$(TEMPLATEPATH)\""
$(ODIR)/ribotin-verkko.o: $(SRCDIR)/ribotin-verkko.cpp $(DEPS) $(OBJ)
$(GPP) -c -o $@ $< $(CPPFLAGS) -DVERSION="\"$(VERSION)\"" -DRIBOTIN_TEMPLATE_PATH="\"$(TEMPLATEPATH)\""
$(ODIR)/ribotin-hifiasm.o: $(SRCDIR)/ribotin-hifiasm.cpp $(DEPS) $(OBJ)
$(GPP) -c -o $@ $< $(CPPFLAGS) -DVERSION="\"$(VERSION)\"" -DRIBOTIN_TEMPLATE_PATH="\"$(TEMPLATEPATH)\""
$(ODIR)/ribotin-ref.o: $(SRCDIR)/ribotin-ref.cpp $(DEPS) $(OBJ)
$(GPP) -c -o $@ $< $(CPPFLAGS) -DVERSION="\"$(VERSION)\"" -DRIBOTIN_TEMPLATE_PATH="\"$(TEMPLATEPATH)\""
$(ODIR)/%.o: $(SRCDIR)/%.cpp $(DEPS)
$(GPP) -c -o $@ $< $(CPPFLAGS)
clean:
rm -f $(ODIR)/*
rm -f $(BINDIR)/*