Initial import of libbp
[SXSI/libbp.git] / Makefile
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..64c98b3
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,55 @@
+POPCOUNT=$(shell grep -q popcnt /proc/cpuinfo && echo 1)
+
+ifeq ($(POPCOUNT), 1)
+       POPCOUNT_FLAG=-DHAS_NATIVE_POPCOUNT
+else
+       POPCOUNT_FLAG=
+endif
+
+ifeq ($(VERBOSE), true)
+       HIDE=
+else
+       HIDE=@
+endif
+
+ifeq ($(DEBUG), true)
+       OPT_FLAGS=-O0 -g $(POPCOUNT_FLAG) -fno-PIC -static
+else
+       OPT_FLAGS=-O4 $(POPCOUNT_FLAG) -fno-PIC -static
+endif
+
+
+
+INC_FLAGS=-I.
+CFLAGS= $(INC_FLAGS) $(OPT_FLAGS)
+CXXFLAGS= $(INC_FLAGS) $(OPT_FLAGS)
+CC=gcc
+
+
+OBJECTS_BP=bp.o darray.o bpcore.o
+LIB_BP=libbpa.a
+
+all: depend $(LIB_BP)
+
+$(LIB_BP): $(OBJECTS_BP)
+       @echo [BP]
+       $(HIDE) ar rcs libbp.a $(OBJECTS_BP)
+
+%o: %c
+       @echo [C] $@
+       $(HIDE) $(CC) -c $(CFLAGS) $< -o $@
+
+%o: %cpp
+       @echo [C++] $@
+       $(HIDE) $(CC) -c $(CXXFLAGS)  $< -o $@
+
+depend:
+       @echo [DEPEND]
+       $(HIDE) (gcc -MM *.c) > $@
+
+clean:
+       @echo [CLEAN]
+       $(HIDE) rm -f *.[ao] depend
+
+-include depend
+