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_slave.c replica_shm.c MEM_SRCS = ./memory/mempool.c ./memory/alloc_dispatch.c COMMON_SRCS = ./common/config.c ./diskuring/diskuring.c DUMP_SRCS = ./dump/kvs_snapshot.c ./dump/kvs_oplog.c SRCS = $(NET_SRCS) $(KV_SRCS) $(MEM_SRCS) $(COMMON_SRCS) $(DUMP_SRCS) INC = -I./NtyCo/core/ -I/usr/include/libxml2 -I./ LIBDIRS = -L./NtyCo/ # LIBS = -lntyco -lpthread -luring -ldl -lxml2 -lrt -ljemalloc LIBS = -lntyco -lpthread -luring -ldl -lxml2 -lrt 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 cldata rm -rf $(OBJS) $(TARGET) $(TEST_REDIS) clmem: rm -rf mem_leak/* cldata: rm -rf data/*