-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
78 lines (60 loc) · 1.5 KB
/
Makefile
File metadata and controls
78 lines (60 loc) · 1.5 KB
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
#
# Makefile
# YCSB-cpp
#
# Copyright (c) 2020 Youngjae Lee <ls4154.lee@gmail.com>.
# Copyright (c) 2014 Jinglei Ren <jinglei@ren.systems>.
#
#---------------------build config-------------------------
DEBUG_BUILD ?= 0
EXTRA_CXXFLAGS ?= -I../include -I../include/rocksdb
EXTRA_LDFLAGS ?= -L../ -lpmem -ldl
BIND_ROCKSDB ?= 1
BIND_LEVELDB ?= 0
BIND_LMDB ?= 0
EXTRA_LDFLAGS += -lstdc++
EXTRA_LDFLAGS += -lsocket++
# EXTRA_LDFLAGS += -lpython3.12
# EXTRA_CXXFLAGS += -I$(PYTHON_INCLUDE_PATH)
# EXTRA_CXXFLAGS += -L$(PYTHON_LIBRARY_PATH)
#----------------------------------------------------------
ifeq ($(DEBUG_BUILD), 1)
CXXFLAGS += -g
else
CXXFLAGS += -O2
CPPFLAGS += -DNDEBUG
endif
ifeq ($(BIND_LEVELDB), 1)
LDFLAGS += -lleveldb
SOURCES += $(wildcard leveldb/*.cc)
endif
ifeq ($(BIND_ROCKSDB), 1)
LDFLAGS += -lrocksdb
SOURCES += $(wildcard rocksdb/*.cc)
endif
ifeq ($(BIND_LMDB), 1)
LDFLAGS += -llmdb
SOURCES += $(wildcard lmdb/*.cc)
endif
CXXFLAGS += -std=c++11 -Wall -pthread $(EXTRA_CXXFLAGS) -I./
LDFLAGS += $(EXTRA_LDFLAGS) -lpthread
SOURCES += $(wildcard core/*.cc)
OBJECTS += $(SOURCES:.cc=.o)
DEPS += $(SOURCES:.cc=.d)
EXEC = ycsb
all: $(EXEC)
$(EXEC): $(OBJECTS)
@$(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -o $@
@echo " LD " $@
.cc.o:
@$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<
@echo " CC " $@
%.d : %.cc
@$(CXX) $(CXXFLAGS) $(CPPFLAGS) -MM -MT '$(<:.cc=.o)' -o $@ $<
ifneq ($(MAKECMDGOALS),clean)
-include $(DEPS)
endif
clean:
find . -name "*.[od]" -delete
$(RM) $(EXEC)
.PHONY: clean