+HIDE=@
CC = g++
LIBCDSPATH = ../libcds
-CPPFLAGS = -Wall -ansi -g -I$(LIBCDSPATH)/includes/ -O3 -DNDEBUG
+CPPFLAGS = -Wall -ansi -g -I$(LIBCDSPATH)/includes/ -O3 -DNDEBUG -Wno-deprecated-declarations
+#CPPFLAGS = -Wall -ansi -g -I$(LIBCDSPATH)/includes/
LIBCDSA = $(LIBCDSPATH)/lib/libcds.a
LIBRLCSA = incbwt/rlcsa.a
LIBLZTRIE = lzindex/lztrie.a
LIBSWCSA = swcsa/swcsa.a
+LIBS= ${LIBRLCSA} ${LIBCDSA} ${LIBLZTRIE} ${LIBSWCSA}
dcover_obs = dcover/difference_cover.o
-TextCollection_obs = TextCollection.o TextCollectionBuilder.o FMIndexBuilder.o FMIndex.o Tools.o \
- TextStorage.o ${LIBRLCSA} ${LIBCDSA} ${LIBLZTRIE} ${LIBSWCSA}
+TextCollection_obs = TextCollection.o TextCollectionBuilder.o FMIndexBuilder.o RLCSABuilder.o FMIndex.o Tools.o \
+ TextStorage.o Query.o EditDistance.o ResultSet.o
TCDebug_obs = bittree.o rbtree.o dynFMI.o
-all: testTextCollection
+TEXTCOLLECTION_A=libTextCollection.a
-testTextCollection: testTextCollection.o $(TextCollection_obs) $(TCDebug_obs) HeapProfiler.o
- $(CC) -o testTextCollection testTextCollection.o $(TextCollection_obs) $(TCDebug_obs) HeapProfiler.o
+all: $(TEXTCOLLECTION_A)
-timeTextCollection: timeTextCollection.o $(TextCollection_obs) $(TCDebug_obs)
+testTextCollection: testTextCollection.o $(TextCollection_obs) $(LIBS) $(TCDebug_obs) HeapProfiler.o
+ $(CC) -o testTextCollection testTextCollection.o $(TextCollection_obs) $(LIBS) $(TCDebug_obs) HeapProfiler.o
+
+timeTextCollection: timeTextCollection.o $(TextCollection_obs) $(LIBS) $(TCDebug_obs)
$(CC) -o timeTextCollection timeTextCollection.o $(TextCollection_obs) $(TCDebug_obs)
test2dRange: test2dRange.o ${LIBCDSA}
swcsa/swcsa.a:
@make -C swcsa
+%o: %c
+ @echo [C] $@
+ $(HIDE) (gcc -c $(CPPFLAGS) $< -o $@
+
+%o: %cpp
+ @echo [C++] $@
+ $(HIDE) $(CC) -c $(CPPFLAGS) $< -o $@
+
+
+$(TEXTCOLLECTION_A): $(TextCollection_obs) $(LIBS)
+ @echo [Link] $@
+ $(HIDE) rm -rf .objs
+ $(HIDE) mkdir .objs
+ $(HIDE) (cd .objs; ar x ../${LIBRLCSA};ar x ../${LIBLZTRIE}; ar x ../${LIBSWCSA})
+ $(HIDE) ar rcs $@ $(TextCollection_obs) .objs/*.o
+# $(HIDE) rm -rf .objs
+
+
clean:
@make clean -C incbwt
@make clean -C lzindex