annotate Makefile @ 1:daf7ce634fb2 default tip

- add pointer size specifier for 64bit systems. (default) - link against libpthread
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 05 Oct 2009 18:05:04 +0900
parents 9a44d900ee55
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
1 PREFIX = /usr/local
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
2
1
daf7ce634fb2 - add pointer size specifier for 64bit systems. (default)
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
3 #for 64bit systems
daf7ce634fb2 - add pointer size specifier for 64bit systems. (default)
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
4 PTRFLAG=-DMOZ_MEMORY_SIZEOF_PTR_2POW=3
daf7ce634fb2 - add pointer size specifier for 64bit systems. (default)
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
5
0
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
6 PRODUCT = libjemalloc
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
7 MAJOR = 1
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
8 MINOR = 0
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
9 REVISION = 0
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
10 VER = ${MAJOR}.${MINOR}.${REVISION}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
11
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
12 CC = gcc
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
13
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
14 SRCS = jemalloc.c
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
15 PUBHDRS = ${SRCS:.c=.h}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
16 HDRS = jemalloc.h
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
17 OBJS = ${SRCS:.c=.o}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
18
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
19 LIBS = ${PRODUCT}.so ${PRODUCT}.a
1
daf7ce634fb2 - add pointer size specifier for 64bit systems. (default)
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
20 CFLAGS += -fPIC -pg -g -DMOZ_MEMORY -DMOZ_MEMORY_LINUX $(PTRFLAG)
daf7ce634fb2 - add pointer size specifier for 64bit systems. (default)
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 0
diff changeset
21 LDFLAGS += -shared -Wl,-soname,${SONAME} -pthread
0
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
22 SONAME = ${PRODUCT}.so.${MAJOR}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
23
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
24
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
25 all: ${LIBS}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
26
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
27 ${PRODUCT}.so: ${OBJS}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
28 ${CC} -o $@ ${LDFLAGS} ${OBJS}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
29
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
30 ${PRODUCT}.a: ${OBJS}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
31 ar rc $@ ${OBJS}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
32 ranlib $@
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
33
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
34 ${OBJS} : ${SRCS} ${HDRS}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
35
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
36
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
37 install:
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
38 install -m644 ${PUBHDRS} ${PREFIX}/include/jemalloc.h
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
39 rm -f ${PREFIX}/lib/${PRODUCT}.*
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
40 install -m755 ${PRODUCT}.so ${PREFIX}/lib/${PRODUCT}.so.${VER}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
41 install -m644 ${PRODUCT}.a ${PREFIX}/lib
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
42 ln -sf ${PREFIX}/lib/${PRODUCT}.so.${VER} ${PREFIX}/lib/${PRODUCT}.so.${MAJOR}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
43 ln -sf ${PREFIX}/lib/${PRODUCT}.so.${MAJOR} ${PREFIX}/lib/${PRODUCT}.so
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
44
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
45 clean:
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
46 rm -f ${LIBS} ${OBJS}
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
47
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
48 distclean: clean
9a44d900ee55 initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
49 rm -f *~ core*