Files
ldb/Makefile
2026-01-26 13:07:10 +00:00

49 lines
1.0 KiB
Makefile

CC = gcc
CFLAGS = -g -DJEMALLOC_NO_DEMANGLE
NET_SRCS = ntyco.c proactor.c reactor.c kvstore.c
KV_SRCS = kvs_array_bin.c kvs_rbtree_bin.c kvs_hash_bin.c kvs_rw_tools.c kvs_protocol_resp.c kvs_oplog.c kvs_slave.c
MEM_SRCS = ./memory/mempool.c ./memory/alloc_dispatch.c
COMMON_SRCS = ./common/config.c ./diskuring/diskuring.c
SRCS = $(NET_SRCS) $(KV_SRCS) $(MEM_SRCS) $(COMMON_SRCS)
INC = -I./NtyCo/core/ -I/usr/include/libxml2 -I./
LIBDIRS = -L./NtyCo/
LIBS = -lntyco -lpthread -luring -ldl -lxml2 -ljemalloc
TARGET = kvstore
SUBDIR = ./NtyCo/
TEST_REDIS = ./test-redis/testcase
TEST_REDIS_SRCS = ./test-redis/test.c
TEST_REDIS_LDFLAGS = -lhiredis
OBJS = $(SRCS:.c=.o)
all: $(SUBDIR) $(TARGET) $(TEST_REDIS)
$(SUBDIR): ECHO
make -C $@
ECHO:
@echo $(SUBDIR)
$(TARGET): $(OBJS)
$(CC) $(CFLAGS) -o $@ $^ $(LIBDIRS) $(LIBS)
$(TEST_REDIS): $(TEST_REDIS_SRCS)
$(CC) -g -o $@ $^ $(TEST_REDIS_LDFLAGS)
%.o: %.c
$(CC) $(CFLAGS) $(INC) -c $^ -g -o $@
clean: clmem
rm -rf $(OBJS) $(TARGET) $(TEST_REDIS)
clmem:
rm -rf mem_leak/*