0
|
1 PREFIX = /usr/local
|
|
2
|
|
3 PRODUCT = libjemalloc
|
|
4 MAJOR = 1
|
|
5 MINOR = 0
|
|
6 REVISION = 0
|
|
7 VER = ${MAJOR}.${MINOR}.${REVISION}
|
|
8
|
|
9 CC = gcc
|
|
10
|
|
11 SRCS = jemalloc.c
|
|
12 PUBHDRS = ${SRCS:.c=.h}
|
|
13 HDRS = jemalloc.h
|
|
14 OBJS = ${SRCS:.c=.o}
|
|
15
|
|
16 LIBS = ${PRODUCT}.so ${PRODUCT}.a
|
|
17 CFLAGS += -fPIC -pg -g -DMOZ_MEMORY -DMOZ_MEMORY_LINUX
|
|
18 LDFLAGS += -shared -Wl,-soname,${SONAME}
|
|
19 SONAME = ${PRODUCT}.so.${MAJOR}
|
|
20
|
|
21
|
|
22 all: ${LIBS}
|
|
23
|
|
24 ${PRODUCT}.so: ${OBJS}
|
|
25 ${CC} -o $@ ${LDFLAGS} ${OBJS}
|
|
26
|
|
27 ${PRODUCT}.a: ${OBJS}
|
|
28 ar rc $@ ${OBJS}
|
|
29 ranlib $@
|
|
30
|
|
31 ${OBJS} : ${SRCS} ${HDRS}
|
|
32
|
|
33
|
|
34 install:
|
|
35 install -m644 ${PUBHDRS} ${PREFIX}/include/jemalloc.h
|
|
36 rm -f ${PREFIX}/lib/${PRODUCT}.*
|
|
37 install -m755 ${PRODUCT}.so ${PREFIX}/lib/${PRODUCT}.so.${VER}
|
|
38 install -m644 ${PRODUCT}.a ${PREFIX}/lib
|
|
39 ln -sf ${PREFIX}/lib/${PRODUCT}.so.${VER} ${PREFIX}/lib/${PRODUCT}.so.${MAJOR}
|
|
40 ln -sf ${PREFIX}/lib/${PRODUCT}.so.${MAJOR} ${PREFIX}/lib/${PRODUCT}.so
|
|
41
|
|
42 clean:
|
|
43 rm -f ${LIBS} ${OBJS}
|
|
44
|
|
45 distclean: clean
|
|
46 rm -f *~ core*
|