Silence a printf warning for %lu on 32bits archs.
[SXSI/libbp.git] / Makefile
1 POPCOUNT=$(shell grep -q popcnt /proc/cpuinfo && echo 1)
2
3 ifeq ($(POPCOUNT), 1)
4         POPCOUNT_FLAG=-DHAS_NATIVE_POPCOUNT -mpopcnt
5 else
6         #POPCOUNT_FLAG=-DHAS_POPCOUNT_TABLE
7         POPCOUNT_FLAG=
8 endif
9
10 ifeq ($(VERBOSE), true)
11         HIDE=
12 else
13         HIDE=@
14 endif
15
16 ifeq ($(DEBUG), true)
17         OPT_FLAGS=-O0 -g $(POPCOUNT_FLAG) -static
18 else
19         OPT_FLAGS=-O3 $(POPCOUNT_FLAG) -static
20 endif
21
22
23 ifeq ($(PROFILE), true)
24         PROF_FLAGS=-pg -g
25 else
26         PROF_FLAGS=
27 endif
28
29
30 INC_FLAGS=-I.
31 CFLAGS= $(INC_FLAGS) $(OPT_FLAGS) $(PROF_FLAGS)
32 CXXFLAGS= $(INC_FLAGS) $(OPT_FLAGS) $(PROF_FLAGS)
33 CC=g++
34
35
36 OBJECTS_BP=bp.o bp-utils.o bp-darray.o bp-core.o
37 LIB_BP=libbp.a
38
39 all: depend $(LIB_BP)
40
41 $(LIB_BP): $(OBJECTS_BP)
42         @echo [Link] $@
43         $(HIDE) ar rcs $@ $(OBJECTS_BP)
44
45 %o: %c
46         @echo [C] $@
47         $(HIDE) $(CC) -c $(CFLAGS) $< -o $@
48
49 %o: %cpp
50         @echo [C++] $@
51         $(HIDE) $(CC) -c $(CXXFLAGS)  $< -o $@
52
53 depend:
54         @echo [DEPEND]
55         $(HIDE) (gcc -MM *.c) > $@
56
57 clean:
58         @echo [CLEAN]
59         $(HIDE) rm -f *.[ao] depend
60
61 -include depend
62