-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile
36 lines (27 loc) · 1.01 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
CHECK := $(shell which clang++)
ifeq ($(CHECK),)
$(warning No clang++ found, consider apt-get install clang, using g++ now)
CC = g++
else
$(info using clang++ over g++)
CC = clang++
endif
IDIR=include
ODIR=obj
SRCDIR=src
LDIR=lib
test: $(ODIR)/test.o $(ODIR)/Node.o $(ODIR)/SuffixTree.o $(ODIR)/utils.o
$(CC) -std=c++11 -o test -g $(ODIR)/test.o $(ODIR)/SuffixTree.o $(ODIR)/Node.o $(ODIR)/utils.o
$(ODIR)/test.o: test.cpp
$(CC) -std=c++11 -w -o $(ODIR)/test.o -c test.cpp
$(ODIR)/Node.o: $(SRCDIR)/Node.cpp $(IDIR)/Node.h
$(CC) -std=c++11 -w -o $(ODIR)/Node.o -c $(SRCDIR)/Node.cpp
$(ODIR)/SuffixTree.o: $(SRCDIR)/SuffixTree.cpp $(IDIR)/SuffixTree.h $(ODIR)/Node.o
$(CC) -std=c++11 -w -o $(ODIR)/SuffixTree.o -g $(ODIR)/Node.o -c $(SRCDIR)/SuffixTree.cpp
$(ODIR)/utils.o: $(SRCDIR)/utils.cpp $(IDIR)/utils.h
$(CC) -std=c++11 -w -o $(ODIR)/utils.o -c $(SRCDIR)/utils.cpp
clean:
rm -f $(ODIR)/*.o
rm test
slib: $(ODIR)/Node.o $(ODIR)/SuffixTree.o
ar rcs $(LDIR)/libsuffix.a $(ODIR)/Node.o $(ODIR)/SuffixTree.o