-
Notifications
You must be signed in to change notification settings - Fork 5.8k
/
Makefile.am
58 lines (46 loc) · 1.33 KB
/
Makefile.am
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
if ENABLE_SERVER
libkv_a_SOURCES = \
kv/KeyValueDB.cc \
kv/LevelDBStore.cc
libkv_a_CXXFLAGS = ${AM_CXXFLAGS}
libkv_a_LIBADD =
noinst_LIBRARIES += libkv.a
noinst_HEADERS += \
kv/KeyValueDB.h \
kv/LevelDBStore.h
if WITH_SLIBROCKSDB
# build rocksdb with its own makefile
# for some stupid reason this needs -fPIC...
# PORTABLE=1 fixes the aarch64 build (-march=native doesn't work there)
ROCKSDBCXX_FLAGS = "-fPIC"
if FREEBSD
NPROC = sysctl -n hw.ncpu
ROCKSDBCXX_FLAGS += "-Wmismatched-tags"
else
NPROC = nproc
endif
# explicitly disable jemalloc unless we are using it.
if !WITH_JEMALLOC
export DISABLE_JEMALLOC=1
endif
rocksdb/librocksdb.a:
cd rocksdb && CC="${CC}" CXX="${CXX}" EXTRA_CXXFLAGS="${ROCKSDBCXX_FLAGS}" PORTABLE=1 ${MAKE} -j$(shell ${NPROC}) static_lib
libkv_a_CXXFLAGS += -I rocksdb/include -fPIC
libkv_a_SOURCES += kv/RocksDBStore.cc
libkv_a_LIBADD += rocksdb/librocksdb.a
noinst_HEADERS += kv/RocksDBStore.h
endif
if WITH_DLIBROCKSDB
libkv_a_SOURCES += kv/RocksDBStore.cc
libkv_a_LIBADD += -lrocksdb
noinst_HEADERS += kv/RocksDBStore.h
endif
if WITH_KINETIC
libkv_a_SOURCES += kv/KineticStore.cc
libkv_a_CXXFLAGS += -std=gnu++11
libkv_a_LIBADD += -lkinetic_client -lprotobuf -lglog -lgflags libcrypto.a
noinst_HEADERS += kv/KineticStore.h
endif
libkv_a_SOURCES += kv/MemDB.cc
noinst_HEADERS += kv/MemDB.h
endif # ENABLE_SERVER