HIDE=@ CC = g++ LIBCDSPATH = ../libcds CPPFLAGS = -Wall -ansi -g -I$(LIBCDSPATH)/includes/ -O3 -DNDEBUG -Wno-deprecated-declarations -flto #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 RLCSABuilder.o FMIndex.o Tools.o \ TextStorage.o Query.o EditDistance.o ResultSet.o TCDebug_obs = bittree.o rbtree.o dynFMI.o TEXTCOLLECTION_A=libTextCollection.a all: $(TEXTCOLLECTION_A) 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) createIndex: createIndex.o $(TextCollection_obs) $(LIBS) $(CC) -o createIndex createIndex.o $(TextCollection_obs) $(LIBS) 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 %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 @make clean -C swcsa rm -f core *.o *~ testTextCollection timeTextCollection dcover/*.o dcover/*~ shallow_clean: rm -f core *.o *~ testTextCollection timeTextCollection depend: @make depend -C incbwt $(CC) -MM *.cpp > dependencies.mk include dependencies.mk