and use it.
git-svn-id: svn+ssh://idea.nguyen.vg/svn/sxsi/trunk/XMLTree@1110
3cdefd35-fc62-479d-8e8d-
bae585ffb9ca
-OPT_FLAGS=-O4 -DPOPCOUNT_TABLE -DHAS_NATIVE_POPCOUNT -fno-PIC -static
+POPCOUNT=$(shell grep -q popcnt /proc/cpuinfo && echo 1)
+
+ifeq ($(POPCOUNT), 1)
+ POPCOUNT_FLAG=-DHAS_NATIVE_POPCOUNT
+else
+ POPCOUNT_FLAG=-DPOPCOUNT_TABLE
+endif
+
+ifeq ($(VERBOSE), true)
+ HIDE=
+else
+ HIDE=@
+endif
+
+OPT_FLAGS=-O4 $(POPCOUNT_FLAG) -fno-PIC -static
INC_FLAGS=-I./libcds/includes/ -I.
CFLAGS= $(INC_FLAGS) $(OPT_FLAGS)
CXXFLAGS= -std=c++0x $(INC_FLAGS) $(OPT_FLAGS)
INC_FLAGS=-I./libcds/includes/ -I.
CFLAGS= $(INC_FLAGS) $(OPT_FLAGS)
CXXFLAGS= -std=c++0x $(INC_FLAGS) $(OPT_FLAGS)
LIBLZTRIE_TCA=TextCollection/lzindex/lztrie.a
LIBSWCSA_TCA=TextCollection/swcsa/swcsa.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]
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 libXMLTree.a
- @rm -rf .objs
- @mkdir .objs
- @cd .objs; ar x ../$(LIBRLCSA_TCA); ar x ../$(LIBLZTRIE_TCA); ar x ../$(LIBSWCSA_TCA)
- @ar rcs libXMLTree.a $(OBJECTS_XMLTREE) $(OBJECTS_TCO) .objs/*.o
- @rm -rf .objs
+ $(HIDE) cp libcds/lib/libcds.a libXMLTree.a
+ $(HIDE) rm -rf .objs
+ $(HIDE) mkdir .objs
+ $(HIDE) (cd .objs; ar x ../$(LIBRLCSA_TCA); ar x ../$(LIBLZTRIE_TCA); ar x ../$(LIBSWCSA_TCA))
+ $(HIDE) ar rcs libXMLTree.a $(OBJECTS_XMLTREE) $(OBJECTS_TCO) .objs/*.o
+ $(HIDE) rm -rf .objs
- @$(CC) -c $(CFLAGS) $< -o $@
+ $(HIDE) $(CC) -c $(CFLAGS) $< -o $@
- @$(CC) -c $(CXXFLAGS) $< -o $@
+ $(HIDE) $(CC) -c $(CXXFLAGS) $< -o $@
text_collection:
@echo [DEPENDENCY] $@
text_collection:
@echo [DEPENDENCY] $@
- @make -s -C TextCollection/
+ $(HIDE) make -s -C TextCollection/
libcds:
@echo [DEPENDENCY] $@
libcds:
@echo [DEPENDENCY] $@
+ $(HIDE) make -s -C libcds/
- @(gcc -MM *.c; g++ -MM -std=c++0x *.cpp) > $@
+ $(HIDE) (gcc -MM *.c; g++ -MM -std=c++0x *.cpp) > $@
+ $(HIDE) rm -f *.[oa] depend