CC = gcc FLAGS = -g -DJEMALLOC_NO_DEMANGLE -I./NtyCo/core/ -I/usr/include/libxml2 -L ./NtyCo/ -L ./mem_pool/ -L ./diskuring/ LDFLAGS = -lntyco -lpthread -luring -ldl -lxml2 SRCS = kvstore.c ntyco.c proactor.c reactor.c 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_pool/mem_pool.c ./common/config.c ./diskuring/diskuring.c TARGET = kvstore SUBDIR = ./NtyCo/ TESTCASE = testcase TESTCASE_SRCS = testcase.c TESTCASE2 = ./test/testcase TESTCASE2_SRCS = ./test/testcase.c ./test/test_client.c TEST_REDIS = ./test-redis/testcase TEST_REDIS_SRCS = ./test-redis/test.c TEST_REDIS_LDFLAGS = -lhiredis OBJS = $(SRCS:.c=.o) all: $(SUBDIR) $(TARGET) $(TESTCASE) $(TESTCASE2) $(TEST_REDIS) $(SUBDIR): ECHO make -C $@ ECHO: @echo $(SUBDIR) $(TARGET): $(OBJS) $(CC) -o $@ $^ $(FLAGS) $(LDFLAGS) $(TESTCASE): $(TESTCASE_SRCS) $(CC) -g -o $@ $^ $(TESTCASE2): $(TESTCASE2_SRCS) $(CC) -g -o $@ $^ $(TEST_REDIS): $(TEST_REDIS_SRCS) $(CC) -g -o $@ $^ $(TEST_REDIS_LDFLAGS) %.o: %.c $(CC) $(FLAGS) -c $^ -g -o $@ clean: rm -rf $(OBJS) $(TARGET) $(TESTCASE) $(TESTCASE2) $(TEST_REDIS)