--- /dev/null
+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
+