CC = g++
LIBCDSPATH = ../libcds
-CPPFLAGS = -Wall -ansi -g -O2 -I$(LIBCDSPATH)/includes/ -DNDEBUG
+CPPFLAGS = -Wall -ansi -g -I$(LIBCDSPATH)/includes/ -O3 -DNDEBUG
LIBCDSA = $(LIBCDSPATH)/lib/libcds.a
+LIBRLCSA = incbwt/rlcsa.a
+LIBLZTRIE = lzindex/lztrie.a
+LIBSWCSA = swcsa/swcsa.a
-testTextCollection_obs = testTextCollection.o TextCollection.o CSA.o Tools.o BitRank.o bittree.o rbtree.o dynFMI.o RLWaveletTree.o GapEncode.o BSGAP.o ${LIBCDSA}
+dcover_obs = dcover/difference_cover.o
-all: $(testTextCollection_obs)
+TextCollection_obs = TextCollection.o TextCollectionBuilder.o TCImplementation.o Tools.o BitRank.o \
+ TextStorage.o ${LIBRLCSA} ${LIBCDSA} ${LIBLZTRIE} ${LIBSWCSA}
+TCDebug_obs = bittree.o rbtree.o dynFMI.o
-testTextCollection: $(testTextCollection_obs) HeapProfiler.o
- $(CC) -o testTextCollection $(testTextCollection_obs) HeapProfiler.o
+all: testTextCollection
+
+testTextCollection: testTextCollection.o $(TextCollection_obs) $(TCDebug_obs) HeapProfiler.o
+ $(CC) -o testTextCollection testTextCollection.o $(TextCollection_obs) $(TCDebug_obs) HeapProfiler.o
+
+timeTextCollection: timeTextCollection.o $(TextCollection_obs) $(TCDebug_obs)
+ $(CC) -o timeTextCollection timeTextCollection.o $(TextCollection_obs) $(TCDebug_obs)
+
+test2dRange: test2dRange.o ${LIBCDSA}
+ $(CC) -o test2dRange test2dRange.o ${LIBCDSA}
+
+incbwt/rlcsa.a:
+ @make -C incbwt
+
+lzindex/lztrie.a:
+ @make -C lzindex
+
+swcsa/swcsa.a:
+ @make -C swcsa
clean:
- rm -f core *.o *~ testTextCollection
+ @make clean -C incbwt
+ @make clean -C lzindex
+ @make clean -C swcsa
+ rm -f core *.o *~ testTextCollection timeTextCollection dcover/*.o dcover/*~
+
+shallow_clean:
+ rm -f core *.o *~ testTextCollection timeTextCollection
depend:
- $(CC) -MM *.cpp *.c > dependencies.mk
+ @make depend -C incbwt
+ $(CC) -MM *.cpp > dependencies.mk
include dependencies.mk