-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile.udepot-cache
115 lines (104 loc) · 2.31 KB
/
Makefile.udepot-cache
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
SRC_DIR = ./src
OBJ_DIR = ./obj
LIB_DIR = ./lib
BIN_DIR = ./bin
INC_DIR = ./include \
# -I ./../spdk/include \
CC = g++
CFLAGS += \
-g \
-std=c++11 \
-O2 \
LIBS += \
-lcityhash \
-lpthread \
-laio \
-lnuma \
-luring \
# -L./../liburing/src -luring \
-lspdk \
-lspdk_env_dpdk \
-lspdk_env_dpdk_rpc \
-ldpdk \
-lspdk_nvme \
-lspdk_util \
-lspdk_event \
-lspdk_sock \
-lspdk_log \
-lspdk_json \
-lspdk_jsonrpc \
-lspdk_rpc \
-L./../spdk/dpdk/build/lib -lrte_eal \
-L./../spdk/dpdk/build/lib -lrte_telemetry \
COMMON_DEFS += \
-DCITYHASH \
-DUNIFORM \
-DCDF \
-DAMF_CDF \
-DPER_CORE \
-DCPU_PIN_NUMA \
-DLINUX_AIO \
-DREDIS \
-DHOPSCOTCH \
-DHOPSCOTCH_PART \
-DPART_MEM \
# -DTTL \
-DRAND_TTL \
# -DHLR_POLLING \
# -DDEV_SPDK \
# -DPRINT_QD \
# -DBREAKDOWN \
# -DUSE_HUGEPAGE\
# -DURING \
# -DLINUX_AIO \
# -DCPU_PIN \
# -DRAMDISK \
# -DDEBUG_GC \
# -DHOTSPOT \
OBJ_SRC += \
$(SRC_DIR)/index/hopscotch.c \
$(SRC_DIR)/index/bigkv_index.c \
$(SRC_DIR)/index/cascade.c \
$(SRC_DIR)/platform/util.c \
$(SRC_DIR)/platform/keygen.c \
$(SRC_DIR)/platform/master.c \
$(SRC_DIR)/platform/client.c \
$(SRC_DIR)/platform/request.c \
$(SRC_DIR)/platform/handler.c \
$(SRC_DIR)/platform/request.c \
$(SRC_DIR)/platform/device.c \
$(SRC_DIR)/platform/poller.c \
$(SRC_DIR)/platform/aio.c \
$(SRC_DIR)/platform/uring.c \
$(SRC_DIR)/platform/redis.c \
$(SRC_DIR)/platform/redis_exec.c \
$(SRC_DIR)/utility/queue.c \
$(SRC_DIR)/utility/lfqueue.c \
$(SRC_DIR)/utility/cond_lock.c \
$(SRC_DIR)/utility/lru_cache.c \
$(SRC_DIR)/utility/art.c \
$(SRC_DIR)/utility/list.c \
$(SRC_DIR)/utility/ttl.c \
$(SRC_DIR)/utility/bloomfilter.c \
$(SRC_DIR)/utility/murmur3.c \
# $(SRC_DIR)/platform/dev_spdk.c \
TARGET_OBJ =\
$(patsubst %.c,%.o,$(OBJ_SRC))\
all: udepot-cache
udepot-cache: $(SRC_DIR)/server.cc $(LIB_DIR)/libbigkv.a
@mkdir -p $(BIN_DIR)
$(CC) -o $(BIN_DIR)/$@ $^ $(CFLAGS) $(LIBS) $(COMMON_DEFS) -I$(INC_DIR)
$(LIB_DIR)/libbigkv.a: $(TARGET_OBJ)
@mkdir -p $(LIB_DIR)
@mkdir -p $(OBJ_DIR)
@mv $(SRC_DIR)/platform/*.o $(OBJ_DIR)
@mv $(SRC_DIR)/index/*.o $(OBJ_DIR)
@mv $(SRC_DIR)/utility/*.o $(OBJ_DIR)
$(AR) r $@ $(OBJ_DIR)/*
.c.o:
$(CC) $(CFLAGS) $(LIBS) $(COMMON_DEFS) -c $< -o $@ -I$(INC_DIR)
clean:
@rm -vf $(BIN_DIR)/*
@rm -vf $(OBJ_DIR)/*.o
@rm -vf $(LIB_DIR)/*.o
@rm -vf $(LIB_DIR)/libbigkv.a