mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 16:48:27 -05:00
eaa713e93b
They were under /deps since they originate from a different source tree, however at this point they are very modified and we took ownership of both the files making changes, fixing bugs, so there is no upgrade path from the original code tree. Given that, better to move the code under /src with proper dependencies and with a more simpler editing experience.
84 lines
2.5 KiB
Makefile
84 lines
2.5 KiB
Makefile
# Redis dependency Makefile
|
|
|
|
uname_S:= $(shell sh -c 'uname -s 2>/dev/null || echo not')
|
|
|
|
CCCOLOR="\033[34m"
|
|
LINKCOLOR="\033[34;1m"
|
|
SRCCOLOR="\033[33m"
|
|
BINCOLOR="\033[37;1m"
|
|
MAKECOLOR="\033[32;1m"
|
|
ENDCOLOR="\033[0m"
|
|
|
|
default:
|
|
@echo "Explicit target required"
|
|
|
|
.PHONY: default
|
|
|
|
# Prerequisites target
|
|
.make-prerequisites:
|
|
@touch $@
|
|
|
|
# Clean everything when CFLAGS is different
|
|
ifneq ($(shell sh -c '[ -f .make-cflags ] && cat .make-cflags || echo none'), $(CFLAGS))
|
|
.make-cflags: distclean
|
|
-(echo "$(CFLAGS)" > .make-cflags)
|
|
.make-prerequisites: .make-cflags
|
|
endif
|
|
|
|
# Clean everything when LDFLAGS is different
|
|
ifneq ($(shell sh -c '[ -f .make-ldflags ] && cat .make-ldflags || echo none'), $(LDFLAGS))
|
|
.make-ldflags: distclean
|
|
-(echo "$(LDFLAGS)" > .make-ldflags)
|
|
.make-prerequisites: .make-ldflags
|
|
endif
|
|
|
|
distclean:
|
|
-(cd hiredis && $(MAKE) clean) > /dev/null || true
|
|
-(cd linenoise && $(MAKE) clean) > /dev/null || true
|
|
-(cd lua && $(MAKE) clean) > /dev/null || true
|
|
-(cd jemalloc && [ -f Makefile ] && $(MAKE) distclean) > /dev/null || true
|
|
-(rm -f .make-*)
|
|
|
|
.PHONY: distclean
|
|
|
|
hiredis: .make-prerequisites
|
|
@printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR)
|
|
cd hiredis && $(MAKE) static
|
|
|
|
.PHONY: hiredis
|
|
|
|
linenoise: .make-prerequisites
|
|
@printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR)
|
|
cd linenoise && $(MAKE)
|
|
|
|
.PHONY: linenoise
|
|
|
|
ifeq ($(uname_S),SunOS)
|
|
# Make isinf() available
|
|
LUA_CFLAGS= -D__C99FEATURES__=1
|
|
endif
|
|
|
|
LUA_CFLAGS+= -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' $(CFLAGS)
|
|
LUA_LDFLAGS+= $(LDFLAGS)
|
|
# lua's Makefile defines AR="ar rcu", which is unusual, and makes it more
|
|
# challenging to cross-compile lua (and redis). These defines make it easier
|
|
# to fit redis into cross-compilation environments, which typically set AR.
|
|
AR=ar
|
|
ARFLAGS=rcu
|
|
|
|
lua: .make-prerequisites
|
|
@printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR)
|
|
cd lua/src && $(MAKE) all CFLAGS="$(LUA_CFLAGS)" MYLDFLAGS="$(LUA_LDFLAGS)" AR="$(AR) $(ARFLAGS)"
|
|
|
|
.PHONY: lua
|
|
|
|
JEMALLOC_CFLAGS= -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops $(CFLAGS)
|
|
JEMALLOC_LDFLAGS= $(LDFLAGS)
|
|
|
|
jemalloc: .make-prerequisites
|
|
@printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR)
|
|
cd jemalloc && ./configure --with-lg-quantum=3 --with-jemalloc-prefix=je_ --enable-cc-silence CFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)"
|
|
cd jemalloc && $(MAKE) CFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" lib/libjemalloc.a
|
|
|
|
.PHONY: jemalloc
|