]>
Commit | Line | Data |
---|---|---|
4b8a6394 PN |
1 | # Redis dependency Makefile |
2 | ||
0a08d2b0 | 3 | uname_S:= $(shell sh -c 'uname -s 2>/dev/null || echo not') |
4b8a6394 PN |
4 | |
5 | CCCOLOR="\033[34m" | |
6 | LINKCOLOR="\033[34;1m" | |
7 | SRCCOLOR="\033[33m" | |
8 | BINCOLOR="\033[37;1m" | |
9 | MAKECOLOR="\033[32;1m" | |
10 | ENDCOLOR="\033[0m" | |
11 | ||
12 | default: | |
13 | @echo "Explicit target required" | |
14 | ||
0a08d2b0 PN |
15 | .PHONY: default |
16 | ||
17 | # Prerequisites target | |
18 | .make-prerequisites: | |
19 | @touch $@ | |
20 | ||
21 | # Clean everything when CFLAGS is different | |
22 | ifneq ($(shell sh -c '[ -f .make-cflags ] && cat .make-cflags || echo none'), $(CFLAGS)) | |
23 | .make-cflags: distclean | |
24 | -(echo "$(CFLAGS)" > .make-cflags) | |
25 | .make-prerequisites: .make-cflags | |
4b8a6394 PN |
26 | endif |
27 | ||
0a08d2b0 PN |
28 | # Clean everything when LDFLAGS is different |
29 | ifneq ($(shell sh -c '[ -f .make-ldflags ] && cat .make-ldflags || echo none'), $(LDFLAGS)) | |
30 | .make-ldflags: distclean | |
31 | -(echo "$(LDFLAGS)" > .make-ldflags) | |
32 | .make-prerequisites: .make-ldflags | |
33 | endif | |
4b8a6394 PN |
34 | |
35 | distclean: | |
36 | -(cd hiredis && $(MAKE) clean) > /dev/null || true | |
37 | -(cd linenoise && $(MAKE) clean) > /dev/null || true | |
38 | -(cd lua && $(MAKE) clean) > /dev/null || true | |
39 | -(cd jemalloc && [ -f Makefile ] && $(MAKE) distclean) > /dev/null || true | |
0a08d2b0 PN |
40 | -(rm -f .make-*) |
41 | ||
42 | .PHONY: distclean | |
43 | ||
44 | hiredis: .make-prerequisites | |
45 | @printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR) | |
46 | cd hiredis && $(MAKE) static | |
47 | ||
48 | .PHONY: hiredis | |
49 | ||
50 | linenoise: .make-prerequisites | |
51 | @printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR) | |
52 | cd linenoise && $(MAKE) | |
53 | ||
54 | .PHONY: linenoise | |
55 | ||
56 | ifeq ($(uname_S),SunOS) | |
57 | # Make isinf() available | |
58 | LUA_CFLAGS= -D__C99FEATURES__=1 | |
59 | endif | |
60 | ||
61 | LUA_CFLAGS+= -O2 -Wall -DLUA_ANSI $(CFLAGS) | |
62 | LUA_LDFLAGS+= $(LDFLAGS) | |
4b8a6394 | 63 | |
0a08d2b0 PN |
64 | lua: .make-prerequisites |
65 | @printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR) | |
66 | cd lua/src && $(MAKE) all CFLAGS="$(LUA_CFLAGS)" MYLDFLAGS="$(LUA_LDFLAGS)" | |
4b8a6394 | 67 | |
0a08d2b0 | 68 | .PHONY: lua |
4b8a6394 | 69 | |
0a08d2b0 PN |
70 | JEMALLOC_CFLAGS= -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops $(CFLAGS) |
71 | JEMALLOC_LDFLAGS= $(LDFLAGS) | |
4b8a6394 | 72 | |
0a08d2b0 PN |
73 | jemalloc: .make-prerequisites |
74 | @printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR) | |
75 | cd jemalloc && ./configure --with-jemalloc-prefix=je_ --enable-cc-silence CFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" | |
d36fb95a | 76 | cd jemalloc && $(MAKE) CFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" lib/libjemalloc.a |
4b8a6394 | 77 | |
0a08d2b0 | 78 | .PHONY: jemalloc |