diff --git a/src/Makefile b/src/Makefile index 11516e15c..40f1be7cf 100644 --- a/src/Makefile +++ b/src/Makefile @@ -6,8 +6,8 @@ # what is needed for Redis plus the standard CFLAGS and LDFLAGS passed. # However when building the dependencies (Jemalloc, Lua, Hiredis, ...) # CFLAGS and LDFLAGS are propagated to the dependencies, so to pass -# flags only to be used when compiling / linking Redis itself REDIS_CFLAGS -# and REDIS_LDFLAGS are used instead (this is the case of 'make gcov'). +# flags only to be used when compiling / linking Redis itself KEYDB_CFLAGS +# and KEYDB_LDFLAGS are used instead (this is the case of 'make gcov'). # # Dependencies are stored in the Makefile.dep file. To rebuild this file # Just use 'make dep', but this is only needed by developers. @@ -20,7 +20,7 @@ DEPENDENCY_TARGETS=hiredis linenoise lua NODEPS:=clean distclean # Default settings -STD=-std=c11 -pedantic -DREDIS_STATIC='' +STD=-std=c11 -pedantic -DKEYDB_STATIC='' CXX_STD=-std=c++14 -pedantic -fno-rtti -D__STDC_FORMAT_MACROS ifneq (,$(findstring clang,$(CC))) ifneq (,$(findstring FreeBSD,$(uname_S))) @@ -104,9 +104,9 @@ endif # Override default settings if possible -include .make-settings -FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) -FINAL_CXXFLAGS=$(CXX_STD) $(WARN) $(OPT) $(DEBUG) $(CXXFLAGS) $(REDIS_CFLAGS) -FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) +FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(KEYDB_CFLAGS) +FINAL_CXXFLAGS=$(CXX_STD) $(WARN) $(OPT) $(DEBUG) $(CXXFLAGS) $(KEYDB_CFLAGS) +FINAL_LDFLAGS=$(LDFLAGS) $(KEYDB_LDFLAGS) $(DEBUG) FINAL_LIBS+=-lm DEBUG=-g -ggdb @@ -275,11 +275,11 @@ endif FINAL_LIBS += ../deps/hiredis/libhiredis_ssl.a $(LIBSSL_LIBS) $(LIBCRYPTO_LIBS) endif -REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) -REDIS_CXX=$(QUIET_CC)$(CXX) $(FINAL_CXXFLAGS) +KEYDB_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) +KEYDB_CXX=$(QUIET_CC)$(CXX) $(FINAL_CXXFLAGS) KEYDB_AS=$(QUIET_CC) as --64 -g -REDIS_LD=$(QUIET_LINK)$(CXX) $(FINAL_LDFLAGS) -REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL) +KEYDB_LD=$(QUIET_LINK)$(CXX) $(FINAL_LDFLAGS) +KEYDB_INSTALL=$(QUIET_INSTALL)$(INSTALL) CCCOLOR="\033[34m" LINKCOLOR="\033[34;1m" @@ -294,24 +294,24 @@ QUIET_LINK = @printf ' %b %b\n' $(LINKCOLOR)LINK$(ENDCOLOR) $(BINCOLOR)$@$(EN QUIET_INSTALL = @printf ' %b %b\n' $(LINKCOLOR)INSTALL$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR); endif -REDIS_SERVER_NAME=keydb-server$(PROG_SUFFIX) -REDIS_SENTINEL_NAME=keydb-sentinel$(PROG_SUFFIX) -REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o t_nhash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crcspeed.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o acl.o storage.o rdb-s3.o fastlock.o new.o tracking.o cron.o connection.o tls.o sha256.o motd.o timeout.o setcpuaffinity.o $(ASM_OBJ) -REDIS_CLI_NAME=keydb-cli$(PROG_SUFFIX) -REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o redis-cli-cpphelper.o zmalloc.o release.o anet.o ae.o crcspeed.o crc64.o siphash.o crc16.o storage-lite.o fastlock.o new.o motd.o $(ASM_OBJ) -REDIS_BENCHMARK_NAME=keydb-benchmark$(PROG_SUFFIX) -REDIS_BENCHMARK_OBJ=ae.o anet.o redis-benchmark.o adlist.o dict.o zmalloc.o siphash.o redis-benchmark.o storage-lite.o fastlock.o new.o $(ASM_OBJ) -REDIS_CHECK_RDB_NAME=keydb-check-rdb$(PROG_SUFFIX) -REDIS_CHECK_AOF_NAME=keydb-check-aof$(PROG_SUFFIX) -REDIS_DIAGNOSTIC_NAME=keydb-diagnostic-tool$(PROG_SUFFIX) +KEYDB_SERVER_NAME=keydb-server$(PROG_SUFFIX) +KEYDB_SENTINEL_NAME=keydb-sentinel$(PROG_SUFFIX) +KEYDB_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o t_nhash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crcspeed.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o acl.o storage.o rdb-s3.o fastlock.o new.o tracking.o cron.o connection.o tls.o sha256.o motd.o timeout.o setcpuaffinity.o $(ASM_OBJ) +KEYDB_CLI_NAME=keydb-cli$(PROG_SUFFIX) +KEYDB_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o redis-cli-cpphelper.o zmalloc.o release.o anet.o ae.o crcspeed.o crc64.o siphash.o crc16.o storage-lite.o fastlock.o new.o motd.o $(ASM_OBJ) +KEYDB_BENCHMARK_NAME=keydb-benchmark$(PROG_SUFFIX) +KEYDB_BENCHMARK_OBJ=ae.o anet.o redis-benchmark.o adlist.o dict.o zmalloc.o siphash.o redis-benchmark.o storage-lite.o fastlock.o new.o $(ASM_OBJ) +KEYDB_CHECK_RDB_NAME=keydb-check-rdb$(PROG_SUFFIX) +KEYDB_CHECK_AOF_NAME=keydb-check-aof$(PROG_SUFFIX) +KEYDB_DIAGNOSTIC_NAME=keydb-diagnostic-tool$(PROG_SUFFIX) -all: $(REDIS_SERVER_NAME) $(REDIS_SENTINEL_NAME) $(REDIS_CLI_NAME) $(REDIS_BENCHMARK_NAME) $(REDIS_CHECK_RDB_NAME) $(REDIS_CHECK_AOF_NAME) $(REDIS_DIAGNOSTIC_NAME) +all: $(KEYDB_SERVER_NAME) $(KEYDB_SENTINEL_NAME) $(KEYDB_CLI_NAME) $(KEYDB_BENCHMARK_NAME) $(KEYDB_CHECK_RDB_NAME) $(KEYDB_CHECK_AOF_NAME) $(KEYDB_DIAGNOSTIC_NAME) @echo "" @echo "Hint: It's a good idea to run 'make test' ;)" @echo "" Makefile.dep: - -$(REDIS_CC) -MM *.c > Makefile.dep 2> /dev/null || true + -$(KEYDB_CC) -MM *.c > Makefile.dep 2> /dev/null || true ifeq (0, $(words $(findstring $(MAKECMDGOALS), $(NODEPS)))) -include Makefile.dep @@ -329,9 +329,9 @@ persist-settings: distclean echo CFLAGS=$(CFLAGS) >> .make-settings echo CXXFLAGS=$(CXXFLAGS) >> .make-settings echo LDFLAGS=$(LDFLAGS) >> .make-settings - echo REDIS_CFLAGS=$(REDIS_CFLAGS) >> .make-settings - echo REDIS_CXXFLAGS=$(REDIS_CXXFLAGS) >> .make-settings - echo REDIS_LDFLAGS=$(REDIS_LDFLAGS) >> .make-settings + echo KEYDB_CFLAGS=$(KEYDB_CFLAGS) >> .make-settings + echo KEYDB_CXXFLAGS=$(KEYDB_CXXFLAGS) >> .make-settings + echo KEYDB_LDFLAGS=$(KEYDB_LDFLAGS) >> .make-settings echo PREV_FINAL_CFLAGS=$(FINAL_CFLAGS) >> .make-settings echo PREV_FINAL_CXXFLAGS=$(FINAL_CXXFLAGS) >> .make-settings echo PREV_FINAL_LDFLAGS=$(FINAL_LDFLAGS) >> .make-settings @@ -354,53 +354,53 @@ endif @touch $@ # keydb-server -$(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ) - $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS) +$(KEYDB_SERVER_NAME): $(KEYDB_SERVER_OBJ) + $(KEYDB_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS) # keydb-sentinel -$(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME) - $(REDIS_INSTALL) $(REDIS_SERVER_NAME) $(REDIS_SENTINEL_NAME) +$(KEYDB_SENTINEL_NAME): $(KEYDB_SERVER_NAME) + $(KEYDB_INSTALL) $(KEYDB_SERVER_NAME) $(KEYDB_SENTINEL_NAME) # keydb-check-rdb -$(REDIS_CHECK_RDB_NAME): $(REDIS_SERVER_NAME) - $(REDIS_INSTALL) $(REDIS_SERVER_NAME) $(REDIS_CHECK_RDB_NAME) +$(KEYDB_CHECK_RDB_NAME): $(KEYDB_SERVER_NAME) + $(KEYDB_INSTALL) $(KEYDB_SERVER_NAME) $(KEYDB_CHECK_RDB_NAME) # keydb-check-aof -$(REDIS_CHECK_AOF_NAME): $(REDIS_SERVER_NAME) - $(REDIS_INSTALL) $(REDIS_SERVER_NAME) $(REDIS_CHECK_AOF_NAME) +$(KEYDB_CHECK_AOF_NAME): $(KEYDB_SERVER_NAME) + $(KEYDB_INSTALL) $(KEYDB_SERVER_NAME) $(KEYDB_CHECK_AOF_NAME) # keydb-cli -$(REDIS_CLI_NAME): $(REDIS_CLI_OBJ) - $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/linenoise/linenoise.o $(FINAL_LIBS) +$(KEYDB_CLI_NAME): $(KEYDB_CLI_OBJ) + $(KEYDB_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/linenoise/linenoise.o $(FINAL_LIBS) # keydb-benchmark -$(REDIS_BENCHMARK_NAME): $(REDIS_BENCHMARK_OBJ) - $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS) +$(KEYDB_BENCHMARK_NAME): $(KEYDB_BENCHMARK_OBJ) + $(KEYDB_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS) # keydb-diagnostic-tool -$(REDIS_DIAGNOSTIC_NAME): $(REDIS_BENCHMARK_OBJ) - $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS) +$(KEYDB_DIAGNOSTIC_NAME): $(KEYDB_BENCHMARK_OBJ) + $(KEYDB_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS) dict-benchmark: dict.cpp zmalloc.cpp sds.c siphash.c - $(REDIS_CC) $(FINAL_CFLAGS) $^ -D DICT_BENCHMARK_MAIN -o $@ $(FINAL_LIBS) + $(KEYDB_CC) $(FINAL_CFLAGS) $^ -D DICT_BENCHMARK_MAIN -o $@ $(FINAL_LIBS) -DEP = $(REDIS_SERVER_OBJ:%.o=%.d) $(REDIS_CLI_OBJ:%.o=%.d) $(REDIS_BENCHMARK_OBJ:%.o=%.d) +DEP = $(KEYDB_SERVER_OBJ:%.o=%.d) $(KEYDB_CLI_OBJ:%.o=%.d) $(KEYDB_BENCHMARK_OBJ:%.o=%.d) -include $(DEP) # Because the jemalloc.h header is generated as a part of the jemalloc build, # building it should complete before building any other object. Instead of # depending on a single artifact, build all dependencies first. %.o: %.c .make-prerequisites - $(REDIS_CC) -MMD -o $@ -c $< + $(KEYDB_CC) -MMD -o $@ -c $< %.o: %.cpp .make-prerequisites - $(REDIS_CXX) -MMD -o $@ -c $< + $(KEYDB_CXX) -MMD -o $@ -c $< %.o: %.asm .make-prerequisites $(KEYDB_AS) $< -o $@ clean: - rm -rf $(REDIS_SERVER_NAME) $(REDIS_SENTINEL_NAME) $(REDIS_CLI_NAME) $(REDIS_BENCHMARK_NAME) $(REDIS_CHECK_RDB_NAME) $(REDIS_CHECK_AOF_NAME) $(REDIS_DIAGNOSTIC_NAME) *.o *.gcda *.gcno *.gcov KeyDB.info lcov-html Makefile.dep dict-benchmark + rm -rf $(KEYDB_SERVER_NAME) $(KEYDB_SENTINEL_NAME) $(KEYDB_CLI_NAME) $(KEYDB_BENCHMARK_NAME) $(KEYDB_CHECK_RDB_NAME) $(KEYDB_CHECK_AOF_NAME) $(KEYDB_DIAGNOSTIC_NAME) *.o *.gcda *.gcno *.gcov KeyDB.info lcov-html Makefile.dep dict-benchmark rm -f $(DEP) .PHONY: clean @@ -412,10 +412,10 @@ distclean: clean .PHONY: distclean -test: $(REDIS_SERVER_NAME) $(REDIS_CHECK_AOF_NAME) +test: $(KEYDB_SERVER_NAME) $(KEYDB_CHECK_AOF_NAME) @(cd ..; ./runtest) -test-sentinel: $(REDIS_SENTINEL_NAME) +test-sentinel: $(KEYDB_SENTINEL_NAME) @(cd ..; ./runtest-sentinel) check: test @@ -428,13 +428,13 @@ lcov: @genhtml --legend -o lcov-html KeyDB.info | grep lines | awk '{print $$2;}' | sed 's/%//g' test-sds: sds.c sds.h - $(REDIS_CC) sds.c zmalloc.cpp -DSDS_TEST_MAIN $(FINAL_LIBS) -o /tmp/sds_test + $(KEYDB_CC) sds.c zmalloc.cpp -DSDS_TEST_MAIN $(FINAL_LIBS) -o /tmp/sds_test /tmp/sds_test .PHONY: lcov -bench: $(REDIS_BENCHMARK_NAME) - ./$(REDIS_BENCHMARK_NAME) +bench: $(KEYDB_BENCHMARK_NAME) + ./$(KEYDB_BENCHMARK_NAME) 32bit: @echo "" @@ -443,7 +443,7 @@ bench: $(REDIS_BENCHMARK_NAME) $(MAKE) CXXFLAGS="-m32" CFLAGS="-m32" LDFLAGS="-m32" gcov: - $(MAKE) REDIS_CXXFLAGS="-fprofile-arcs -ftest-coverage -DCOVERAGE_TEST" REDIS_CFLAGS="-fprofile-arcs -ftest-coverage -DCOVERAGE_TEST" REDIS_LDFLAGS="-fprofile-arcs -ftest-coverage" + $(MAKE) KEYDB_CXXFLAGS="-fprofile-arcs -ftest-coverage -DCOVERAGE_TEST" KEYDB_CFLAGS="-fprofile-arcs -ftest-coverage -DCOVERAGE_TEST" KEYDB_LDFLAGS="-fprofile-arcs -ftest-coverage" noopt: $(MAKE) OPTIMIZATION="-O0" @@ -459,13 +459,13 @@ src/help.h: install: all @mkdir -p $(INSTALL_BIN) - $(REDIS_INSTALL) $(REDIS_SERVER_NAME) $(INSTALL_BIN) - $(REDIS_INSTALL) $(REDIS_BENCHMARK_NAME) $(INSTALL_BIN) - $(REDIS_INSTALL) $(REDIS_CLI_NAME) $(INSTALL_BIN) - $(REDIS_INSTALL) $(REDIS_CHECK_RDB_NAME) $(INSTALL_BIN) - $(REDIS_INSTALL) $(REDIS_CHECK_AOF_NAME) $(INSTALL_BIN) - $(REDIS_INSTALL) $(REDIS_DIAGNOSTIC_NAME) $(INSTALL_BIN) - @ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_SENTINEL_NAME) + $(KEYDB_INSTALL) $(KEYDB_SERVER_NAME) $(INSTALL_BIN) + $(KEYDB_INSTALL) $(KEYDB_BENCHMARK_NAME) $(INSTALL_BIN) + $(KEYDB_INSTALL) $(KEYDB_CLI_NAME) $(INSTALL_BIN) + $(KEYDB_INSTALL) $(KEYDB_CHECK_RDB_NAME) $(INSTALL_BIN) + $(KEYDB_INSTALL) $(KEYDB_CHECK_AOF_NAME) $(INSTALL_BIN) + $(KEYDB_INSTALL) $(KEYDB_DIAGNOSTIC_NAME) $(INSTALL_BIN) + @ln -sf $(KEYDB_SERVER_NAME) $(INSTALL_BIN)/$(KEYDB_SENTINEL_NAME) uninstall: - rm -f $(INSTALL_BIN)/{$(REDIS_SERVER_NAME),$(REDIS_BENCHMARK_NAME),$(REDIS_CLI_NAME),$(REDIS_CHECK_RDB_NAME),$(REDIS_CHECK_AOF_NAME),$(REDIS_SENTINEL_NAME),$(REDIS_DIAGNOSTIC_NAME)} + rm -f $(INSTALL_BIN)/{$(KEYDB_SERVER_NAME),$(KEYDB_BENCHMARK_NAME),$(KEYDB_CLI_NAME),$(KEYDB_CHECK_RDB_NAME),$(KEYDB_CHECK_AOF_NAME),$(KEYDB_SENTINEL_NAME),$(KEYDB_DIAGNOSTIC_NAME)}