Remove spurious printfs.
[SXSI/XMLTree.git] / Makefile
index 05922b4..feb8ae0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,62 +1,57 @@
-OPT_FLAGS=-O6 -DPOPCOUNT_TABLE -DHAS_NATIVE_POPCOUNT 
-INC_FLAGS=-I./libcds/includes/ -I.
-CFLAGS= $(INC_FLAGS) $(OPT_FLAGS)
-CXXFLAGS= -std=c++0x $(INC_FLAGS) $(OPT_FLAGS)
-CC=g++
-
-LIBCDS_A=libcds/lib/libcds.a 
-OBJECTS_TCO= TextCollection/TextCollection.o \
-             TextCollection/TextCollectionBuilder.o \
-             TextCollection/RLCSABuilder.o \
-             TextCollection/FMIndex.o \
-             TextCollection/FMIndexBuilder.o \
-             TextCollection/Tools.o \
-             TextCollection/TextStorage.o \
-             TextCollection/Query.o \
-             TextCollection/EditDistance.o \
-             TextCollection/ResultSet.o
-
-OBJECTS_XMLTREE=XMLTree.o XMLTreeBuilder.o bp.o darray.o bpcore.o
-
-LIBRLCSA_TCA=TextCollection/incbwt/rlcsa.a
-LIBLZTRIE_TCA=TextCollection/lzindex/lztrie.a
-LIBSWCSA_TCA=TextCollection/swcsa/swcsa.a
-
-all: depend libcds text_collection XMLTree
-
-XMLTree: $(OBJECTS_XMLTREE) $(LIBCDS_A) $(OBJECTS_TCO) \
-         $(LIBRLCSA_TCA) $(LIBLZTRIE_TCA) $(LIBSWCSA_TCA)
-       @echo [XMLTree]
-       @cp libcds/lib/libcds.a XMLTree.a
-       @rm -rf .objs
-       @mkdir .objs
-       @cd .objs; ar x ../$(LIBRLCSA_TCA); ar x ../$(LIBLZTRIE_TCA); ar x ../$(LIBSWCSA_TCA)
-       @ar rcs XMLTree.a $(OBJECTS_XMLTREE) $(OBJECTS_TCO) .objs/*.o
-       @rm -rf .objs
-
-%o: %c
-       @echo [C] $@
-       @$(CC) -c $(CFLAGS) $< -o $@
+INC_FLAGS=-I.. -I../libcds/includes/ -I.
+
+ifeq ($(POPCOUNT), 1)
+       POPCOUNT_FLAG=-DHAS_NATIVE_POPCOUNT -mpopcnt
+else
+       POPCOUNT_FLAG=
+endif
+
+ifeq ($(VERBOSE), true)
+       HIDE=
+else
+       HIDE=@
+endif
+
+ifeq ($(DEBUG), true)
+       OPT_FLAGS=-O0 -g $(POPCOUNT_FLAG) -static
+else
+       OPT_FLAGS=-O3 $(POPCOUNT_FLAG) -static
+endif
+
+ifeq ($(PROFILE), true)
+       PROF_FLAGS=-pg -g
+else
+       PROF_FLAGS=
+endif
+
+
+CXXFLAGS=-std=c++0x $(INC_FLAGS) $(OPT_FLAGS) $(PROF_FLAGS)
+CXX=g++
+
+#OBJECTS_XMLTREE=XMLTree.o XMLTreeBuilder.o
+#XMLTREE_A=libXMLTree.a
+OBJECTS_XMLTREE=bit-vector.o xml-tree.o xml-tree-builder.o
+XMLTREE_A=libxml-tree.a
+
+
+
+all: depend $(XMLTREE_A)
+
+$(XMLTREE_A): $(OBJECTS_XMLTREE)
+       @echo [Link] $@
+       $(HIDE) ar rcs $@ $(OBJECTS_XMLTREE)
 
 %o: %cpp
        @echo [C++] $@
-       @$(CC) -c $(CXXFLAGS)  $< -o $@
-
-text_collection:
-       @echo [DEPENDENCY] $@
-       @make -s -C TextCollection/
+       $(HIDE) $(CXX) -c $(CXXFLAGS)  $< -o $@
 
-libcds:
-       @echo [DEPENDENCY] $@
-       @make -s -C libcds/
 
 depend:
        @echo [DEPEND]
-       @(gcc -MM *.c; g++ -MM -std=c++0x *.cpp) > $@
+       $(HIDE) ($(CXX) -MM $(CXXFLAGS) *.cpp) > $@
 
 clean:
        @echo [CLEAN]
-       @rm -f *.[oa] depend
+       $(HIDE) rm -f *.[oa] depend
 
 -include depend
-