@@ -4,13 +4,17 @@ include depends.mk
4
4
OPT ?= -g2 -Wall -Werror # (B) Debug mode, w/ full line-level debugging symbols
5
5
# OPT ?= -O2 -g2 -DNDEBUG # (C) Profiling mode: opt, but w/debugging symbols
6
6
7
- CC = cc
8
- CXX = g++
7
+ ifndef CXX
8
+ CXX = g++
9
+ endif
10
+ ifndef CC
11
+ CC = gcc
12
+ endif
9
13
10
14
INCPATH += -I./src -I./include -I./src/leveldb/include -I./src/leveldb \
11
15
-I./src/sdk/java/native-src $(DEPS_INCPATH )
12
16
CFLAGS += $(OPT ) $(INCPATH ) -fPIC -fvisibility=hidden # hide internal symbol of tera
13
- CXXFLAGS += $(CFLAGS )
17
+ CXXFLAGS += -std=gnu++11 $(CFLAGS )
14
18
LDFLAGS += -rdynamic $(DEPS_LDPATH ) $(DEPS_LDFLAGS ) -lpthread -lrt -lz -ldl \
15
19
-lreadline -lncurses
16
20
SO_LDFLAGS += -rdynamic $(DEPS_LDPATH ) $(SO_DEPS_LDFLAGS ) -lpthread -lrt -lz -ldl \
@@ -32,7 +36,8 @@ OTHER_SRC := $(wildcard src/zk/*.cc) $(wildcard src/utils/*.cc) $(VERSION_SRC) \
32
36
src/tera_flags.cc
33
37
COMMON_SRC := $(wildcard src/common/base/* .cc) $(wildcard src/common/net/* .cc) \
34
38
$(wildcard src/common/file/* .cc) $(wildcard src/common/file/recordio/* .cc) \
35
- $(wildcard src/common/console/* .cc)
39
+ $(wildcard src/common/console/* .cc)
40
+ SERVER_WRAPPER_SRC := src/tera_main_wrapper.cc
36
41
SERVER_SRC := src/tera_main.cc src/tera_entry.cc
37
42
CLIENT_SRC := src/teracli_main.cc
38
43
TEST_CLIENT_SRC := src/tera_test_main.cc
@@ -41,7 +46,7 @@ MONITOR_SRC := src/monitor/teramo_main.cc
41
46
MARK_SRC := src/benchmark/mark.cc src/benchmark/mark_main.cc
42
47
TEST_SRC := src/utils/test/prop_tree_test.cc src/utils/test/tprinter_test.cc \
43
48
src/io/test/tablet_io_test.cc src/io/test/tablet_scanner_test.cc \
44
- src/master/test/master_impl_test.cc src/io/test/load_test.cc
49
+ src/master/test/master_impl_test.cc src/io/test/load_test.cc
45
50
46
51
TEST_OUTPUT := test_output
47
52
UNITTEST_OUTPUT := $(TEST_OUTPUT ) /unittest
@@ -54,6 +59,7 @@ PROTO_OBJ := $(PROTO_SRC:.cc=.o)
54
59
JNI_TERA_OBJ := $(JNI_TERA_SRC:.cc=.o )
55
60
OTHER_OBJ := $(OTHER_SRC:.cc=.o )
56
61
COMMON_OBJ := $(COMMON_SRC:.cc=.o )
62
+ SERVER_WRAPPER_OBJ := $(SERVER_WRAPPER_SRC:.cc=.o )
57
63
SERVER_OBJ := $(SERVER_SRC:.cc=.o )
58
64
CLIENT_OBJ := $(CLIENT_SRC:.cc=.o )
59
65
TEST_CLIENT_OBJ := $(TEST_CLIENT_SRC:.cc=.o )
@@ -64,11 +70,12 @@ HTTP_OBJ := $(HTTP_SRC:.cc=.o)
64
70
TEST_OBJ := $(TEST_SRC:.cc=.o )
65
71
ALL_OBJ := $(MASTER_OBJ ) $(TABLETNODE_OBJ ) $(IO_OBJ ) $(SDK_OBJ ) $(PROTO_OBJ ) \
66
72
$(JNI_TERA_OBJ ) $(OTHER_OBJ ) $(COMMON_OBJ ) $(SERVER_OBJ ) $(CLIENT_OBJ ) \
67
- $(TEST_CLIENT_OBJ ) $(TERA_C_OBJ ) $(MONITOR_OBJ ) $(MARK_OBJ ) $(TEST_OBJ )
73
+ $(TEST_CLIENT_OBJ ) $(TERA_C_OBJ ) $(MONITOR_OBJ ) $(MARK_OBJ ) $(TEST_OBJ ) \
74
+ $(SERVER_WRAPPER_OBJ )
68
75
LEVELDB_LIB := src/leveldb/libleveldb.a
69
- LEVELDB_UTIL := src/leveldb/util/histogram.o
76
+ LEVELDB_UTIL := src/leveldb/util/histogram.o src/leveldb/port/port_posix.o
70
77
71
- PROGRAM = tera_main teracli teramo tera_test
78
+ PROGRAM = tera_main tera_master tabletserver teracli teramo tera_test
72
79
LIBRARY = libtera.a
73
80
SOLIBRARY = libtera.so
74
81
TERA_C_SO = libtera_c.so
@@ -110,8 +117,15 @@ cleanall:
110
117
$(MAKE ) clean
111
118
rm -rf build
112
119
113
- tera_main : $(SERVER_OBJ ) $(MASTER_OBJ ) $(TABLETNODE_OBJ ) $(IO_OBJ ) $(SDK_OBJ ) \
114
- $(PROTO_OBJ) $(OTHER_OBJ) $(COMMON_OBJ) $(LEVELDB_LIB)
120
+ tera_main : src/tera_main_wrapper.o src/version.o src/tera_flags.o
121
+ $(CXX ) -o $@ $^ $(LDFLAGS )
122
+
123
+ tera_master : $(SERVER_OBJ ) $(MASTER_OBJ ) $(IO_OBJ ) $(SDK_OBJ ) \
124
+ $(PROTO_OBJ) $(OTHER_OBJ) $(COMMON_OBJ) $(LEVELDB_LIB)
125
+ $(CXX) -o $@ $^ $(LDFLAGS)
126
+
127
+ tabletserver : $(SERVER_OBJ ) $(TABLETNODE_OBJ ) $(IO_OBJ ) $(SDK_OBJ ) \
128
+ $(PROTO_OBJ) $(OTHER_OBJ) $(COMMON_OBJ) $(LEVELDB_LIB)
115
129
$(CXX) -o $@ $^ $(LDFLAGS)
116
130
117
131
libtera.a : $(SDK_OBJ ) $(PROTO_OBJ ) $(OTHER_OBJ ) $(COMMON_OBJ ) $(LEVELDB_UTIL )
@@ -142,7 +156,7 @@ libjni_tera.so: $(JNI_TERA_OBJ) $(LIBRARY)
142
156
$(CXX ) -o $@ $^ $(SO_LDFLAGS )
143
157
144
158
src/leveldb/libleveldb.a : FORCE
145
- $(MAKE ) -C src/leveldb
159
+ CC= $( CC ) CXX= $( CXX ) $(MAKE ) -C src/leveldb
146
160
147
161
tera_bench :
148
162
@@ -174,8 +188,8 @@ tablet_scanner_test: src/io/test/tablet_scanner_test.o src/tabletnode/tabletnode
174
188
$(IO_OBJ) $(PROTO_OBJ) $(OTHER_OBJ) $(COMMON_OBJ) $(LEVELDB_LIB)
175
189
$(CXX) -o $@ $^ $(LDFLAGS)
176
190
177
- master_impl_test : src/master/test/master_impl_test.o src/tera_entry.o $(MASTER_OBJ ) $( TABLETNODE_OBJ ) $(IO_OBJ ) $(SDK_OBJ ) \
178
- $(PROTO_OBJ) $(OTHER_OBJ) $(COMMON_OBJ) $(LEVELDB_LIB)
191
+ master_impl_test : src/master/test/master_impl_test.o src/tera_entry.cc $(MASTER_OBJ ) $(IO_OBJ ) $(SDK_OBJ ) \
192
+ $(PROTO_OBJ) $(OTHER_OBJ) $(COMMON_OBJ) $(LEVELDB_LIB)
179
193
$(CXX) -o $@ $^ $(LDFLAGS)
180
194
181
195
$(ALL_OBJ ) : % .o: % .cc $(PROTO_OUT_H )
0 commit comments