Debug swcsa
[SXSI/TextCollection.git] / incbwt / Makefile
1 CC = g++
2
3 # Use 64-bit integers in a 64-bit environment.
4 # SIZE_FLAGS = -DMASSIVE_DATA_RLCSA
5
6 # Parallelism is supported by either libstdc++ Parallel Mode or MCSTL.
7 # PARALLEL_FLAGS = -DMULTITHREAD_SUPPORT -D_GLIBCXX_PARALLEL -fopenmp
8 # MCSTL_ROOT = /fs-3/d/jltsiren/suds/mcstl
9 # PARALLEL_FLAGS = -DMULTITHREAD_SUPPORT -I$(MCSTL_ROOT)/c++ -fopenmp
10
11 # Vectors using nibble codes instead of delta codes are faster, but they also
12 # take up more space.
13 # VECTOR_FLAGS = -DUSE_NIBBLE_VECTORS
14
15 #CPPFLAGS = -Wall -g $(SIZE_FLAGS) $(PARALLEL_FLAGS) $(VECTOR_FLAGS)
16 CPPFLAGS = -Wall -O3 $(SIZE_FLAGS) $(PARALLEL_FLAGS) $(VECTOR_FLAGS)
17 OBJS = rlcsa.o rlcsa_builder.o sasamples.o lcpsamples.o bits/array.o bits/bitvector.o bits/deltavector.o bits/rlevector.o bits/nibblevector.o misc/parameters.o misc/utils.o qsufsort/qsufsort.o
18
19 VPATH = bits:misc:utils
20
21
22 default: rlcsa.a
23
24
25 rlcsa.a: $(OBJS)
26         ar rcs rlcsa.a $(OBJS)
27
28 depend:
29         g++ -MM *.cpp bits/*.cpp misc/*.cpp qsufsort/*.c utils/*.cpp > dependencies.mk
30
31 rlcsa_test: rlcsa_test.o rlcsa.a
32         $(CC) $(CPPFLAGS) -o rlcsa_test rlcsa_test.o rlcsa.a
33
34 lcp_test: lcp_test.o rlcsa.a
35         $(CC) $(CPPFLAGS) -o lcp_test lcp_test.o rlcsa.a
36
37 parallel_build: parallel_build.o rlcsa.a
38         $(CC) $(CPPFLAGS) -o parallel_build parallel_build.o rlcsa.a
39
40 build_rlcsa: build_rlcsa.o rlcsa.a
41         $(CC) $(CPPFLAGS) -o build_rlcsa build_rlcsa.o rlcsa.a
42
43 locate_test: locate_test.o rlcsa.a
44         $(CC) $(CPPFLAGS) -o locate_test locate_test.o rlcsa.a
45
46 display_test: display_test.o rlcsa.a
47         $(CC) $(CPPFLAGS) -o display_test display_test.o rlcsa.a
48
49 read_bwt: read_bwt.o rlcsa.a
50         $(CC) $(CPPFLAGS) -o read_bwt read_bwt.o rlcsa.a
51
52 extract_sequence: extract_sequence.o rlcsa.a
53         $(CC) $(CPPFLAGS) -o extract_sequence extract_sequence.o rlcsa.a
54
55 rlcsa_grep: rlcsa_grep.o rlcsa.a
56         $(CC) $(CPPFLAGS) -o rlcsa_grep rlcsa_grep.o rlcsa.a
57
58 build_plcp: build_plcp.o rlcsa.a
59         $(CC) $(CPPFLAGS) -o build_plcp build_plcp.o rlcsa.a
60
61 sample_lcp: sample_lcp.o rlcsa.a
62         $(CC) $(CPPFLAGS) -o sample_lcp sample_lcp.o rlcsa.a
63
64 extract_text: extract_text.o
65         $(CC) $(CPPFLAGS) -o utils/extract_text extract_text.o
66
67 convert_patterns: convert_patterns.o
68         $(CC) $(CPPFLAGS) -o utils/convert_patterns convert_patterns.o misc/utils.o
69
70 split_text: split_text.o
71         $(CC) $(CPPFLAGS) -o utils/split_text split_text.o misc/utils.o
72
73 genpatterns: genpatterns.c
74         gcc -O3 -Wall -o utils/genpatterns utils/genpatterns.c
75
76 clean:
77         rm -f rlcsa.a rlcsa_test lcp_test parallel_build
78         rm -f build_rlcsa locate_test display_test read_bwt extract_sequence rlcsa_grep build_plcp sample_lcp
79         rm -f utils/extract_text utils/convert_patterns utils/split_text
80         rm -f *.o bits/*.o misc/*.o qsufsort/*.o utils/*.o
81
82 package:
83         mkdir rlcsa
84         mkdir rlcsa/bits rlcsa/misc rlcsa/qsufsort rlcsa/utils
85         cp LICENSE Makefile README dependencies.mk *.cpp *.h rlcsa
86         cp bits/*.cpp bits/*.h rlcsa/bits
87         cp misc/*.cpp misc/*.h rlcsa/misc
88         cp qsufsort/*.c qsufsort/*.h rlcsa/qsufsort
89         cp utils/*.cpp utils/*.py rlcsa/utils
90         tar cfz rlcsa.tgz rlcsa
91         rm -r rlcsa/*
92         rmdir rlcsa
93
94 include dependencies.mk