X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=Makefile;fp=Makefile;h=f6d781c3935bee1291ee1d7797dfed90e1a86ea8;hb=e4d0188a098767c4950ba8936b754922343cbe8b;hp=0000000000000000000000000000000000000000;hpb=797af25b1c6f3d1f633a57abec7bd2e6e7cf602b;p=SXSI%2FTextCollection.git diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f6d781c --- /dev/null +++ b/Makefile @@ -0,0 +1,71 @@ +HIDE=@ +CC = g++ +LIBCDSPATH = ../libcds +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 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) + +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