1 # Copyright (c) 2011 The LevelDB Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. See the AUTHORS file for names of contributors.
5 #-----------------------------------------------
6 # Uncomment exactly one of the lines labelled (A), (B), and (C) below
7 # to switch between compilation modes.
9 # (A) Production use (optimized mode)
11 # (B) Debug mode, w/ full line-level debugging symbols
13 # (C) Profiling mode: opt, but w/debugging symbols
14 # OPT ?= -O2 -g2 -DNDEBUG
15 #-----------------------------------------------
17 # detect what platform we're building on
18 $(shell CC
="$(CC)" CXX
="$(CXX)" TARGET_OS
="$(TARGET_OS)" \
19 .
/build_detect_platform build_config.mk .
/)
20 # this file is generated by the previous line to set build flags and sources
21 include build_config.mk
29 db
/fault_injection_test \
34 db
/version_edit_test \
37 helpers
/memenv
/memenv_test \
38 issues
/issue178_test \
39 issues
/issue200_test \
40 table
/filter_block_test \
54 # Put the object files in a subdirectory, but the application at the top of the object dir.
55 PROGNAMES
:= $(notdir $(TESTS
) $(UTILS
))
57 # On Linux may need libkyotocabinet-dev for dependency.
59 doc
/bench
/db_bench_sqlite3 \
60 doc
/bench
/db_bench_tree_db
62 CFLAGS
+= -I.
-I.
/include $(PLATFORM_CCFLAGS
) $(OPT
)
63 CXXFLAGS
+= -I.
-I.
/include $(PLATFORM_CXXFLAGS
) $(OPT
)
65 LDFLAGS
+= $(PLATFORM_LDFLAGS
)
66 LIBS
+= $(PLATFORM_LIBS
)
68 SIMULATOR_OUTDIR
=out-ios-x86
69 DEVICE_OUTDIR
=out-ios-arm
71 ifeq ($(PLATFORM
), IOS
)
72 # Note: iOS should probably be using libtool, not ar.
74 SIMULATORSDK
=$(shell xcrun
-sdk iphonesimulator
--show-sdk-path
)
75 DEVICESDK
=$(shell xcrun
-sdk iphoneos
--show-sdk-path
)
76 DEVICE_CFLAGS
= -isysroot
"$(DEVICESDK)" -arch armv6
-arch armv7
-arch armv7s
-arch arm64
77 SIMULATOR_CFLAGS
= -isysroot
"$(SIMULATORSDK)" -arch i686
-arch x86_64
78 STATIC_OUTDIR
=out-ios-universal
80 STATIC_OUTDIR
=out-static
81 SHARED_OUTDIR
=out-shared
82 STATIC_PROGRAMS
:= $(addprefix $(STATIC_OUTDIR
)/, $(PROGNAMES
))
83 SHARED_PROGRAMS
:= $(addprefix $(SHARED_OUTDIR
)/, db_bench
)
86 STATIC_LIBOBJECTS
:= $(addprefix $(STATIC_OUTDIR
)/, $(SOURCES
:.
cc=.o
))
87 STATIC_MEMENVOBJECTS
:= $(addprefix $(STATIC_OUTDIR
)/, $(MEMENV_SOURCES
:.
cc=.o
))
89 DEVICE_LIBOBJECTS
:= $(addprefix $(DEVICE_OUTDIR
)/, $(SOURCES
:.
cc=.o
))
90 DEVICE_MEMENVOBJECTS
:= $(addprefix $(DEVICE_OUTDIR
)/, $(MEMENV_SOURCES
:.
cc=.o
))
92 SIMULATOR_LIBOBJECTS
:= $(addprefix $(SIMULATOR_OUTDIR
)/, $(SOURCES
:.
cc=.o
))
93 SIMULATOR_MEMENVOBJECTS
:= $(addprefix $(SIMULATOR_OUTDIR
)/, $(MEMENV_SOURCES
:.
cc=.o
))
95 SHARED_LIBOBJECTS
:= $(addprefix $(SHARED_OUTDIR
)/, $(SOURCES
:.
cc=.o
))
96 SHARED_MEMENVOBJECTS
:= $(addprefix $(SHARED_OUTDIR
)/, $(MEMENV_SOURCES
:.
cc=.o
))
98 TESTUTIL
:= $(STATIC_OUTDIR
)/util
/testutil.o
99 TESTHARNESS
:= $(STATIC_OUTDIR
)/util
/testharness.o
$(TESTUTIL
)
101 STATIC_TESTOBJS
:= $(addprefix $(STATIC_OUTDIR
)/, $(addsuffix .o
, $(TESTS
)))
102 STATIC_UTILOBJS
:= $(addprefix $(STATIC_OUTDIR
)/, $(addsuffix .o
, $(UTILS
)))
103 STATIC_ALLOBJS
:= $(STATIC_LIBOBJECTS
) $(STATIC_MEMENVOBJECTS
) $(STATIC_TESTOBJS
) $(STATIC_UTILOBJS
) $(TESTHARNESS
)
104 DEVICE_ALLOBJS
:= $(DEVICE_LIBOBJECTS
) $(DEVICE_MEMENVOBJECTS
)
105 SIMULATOR_ALLOBJS
:= $(SIMULATOR_LIBOBJECTS
) $(SIMULATOR_MEMENVOBJECTS
)
109 # Should we build shared libraries?
110 ifneq ($(PLATFORM_SHARED_EXT
),)
112 # Many leveldb test apps use non-exported API's. Only build a subset for testing.
113 SHARED_ALLOBJS
:= $(SHARED_LIBOBJECTS
) $(SHARED_MEMENVOBJECTS
) $(TESTHARNESS
)
115 ifneq ($(PLATFORM_SHARED_VERSIONED
),true
)
116 SHARED_LIB1
= libleveldb.
$(PLATFORM_SHARED_EXT
)
117 SHARED_LIB2
= $(SHARED_LIB1
)
118 SHARED_LIB3
= $(SHARED_LIB1
)
119 SHARED_LIBS
= $(SHARED_LIB1
)
120 SHARED_MEMENVLIB
= $(SHARED_OUTDIR
)/libmemenv.a
122 # Update db.h if you change these.
123 SHARED_VERSION_MAJOR
= 1
124 SHARED_VERSION_MINOR
= 19
125 SHARED_LIB1
= libleveldb.
$(PLATFORM_SHARED_EXT
)
126 SHARED_LIB2
= $(SHARED_LIB1
).
$(SHARED_VERSION_MAJOR
)
127 SHARED_LIB3
= $(SHARED_LIB1
).
$(SHARED_VERSION_MAJOR
).
$(SHARED_VERSION_MINOR
)
128 SHARED_LIBS
= $(SHARED_OUTDIR
)/$(SHARED_LIB1
) $(SHARED_OUTDIR
)/$(SHARED_LIB2
) $(SHARED_OUTDIR
)/$(SHARED_LIB3
)
129 $(SHARED_OUTDIR
)/$(SHARED_LIB1
): $(SHARED_OUTDIR
)/$(SHARED_LIB3
)
130 ln
-fs
$(SHARED_LIB3
) $(SHARED_OUTDIR
)/$(SHARED_LIB1
)
131 $(SHARED_OUTDIR
)/$(SHARED_LIB2
): $(SHARED_OUTDIR
)/$(SHARED_LIB3
)
132 ln
-fs
$(SHARED_LIB3
) $(SHARED_OUTDIR
)/$(SHARED_LIB2
)
133 SHARED_MEMENVLIB
= $(SHARED_OUTDIR
)/libmemenv.a
136 $(SHARED_OUTDIR
)/$(SHARED_LIB3
): $(SHARED_LIBOBJECTS
)
137 $(CXX
) $(LDFLAGS
) $(PLATFORM_SHARED_LDFLAGS
)$(SHARED_LIB2
) $(SHARED_LIBOBJECTS
) -o
$(SHARED_OUTDIR
)/$(SHARED_LIB3
) $(LIBS
)
139 endif # PLATFORM_SHARED_EXT
141 all: $(SHARED_LIBS
) $(SHARED_PROGRAMS
) $(STATIC_OUTDIR
)/libleveldb.a
$(STATIC_OUTDIR
)/libmemenv.a
$(STATIC_PROGRAMS
)
143 check: $(STATIC_PROGRAMS
)
144 for t in
$(notdir $(TESTS
)); do echo
"***** Running $$t"; $(STATIC_OUTDIR
)/$$t || exit
1; done
147 -rm -rf out-static out-shared out-ios-x86 out-ios-arm out-ios-universal
148 -rm -f build_config.mk
149 -rm -rf ios-x86 ios-arm
154 $(STATIC_OUTDIR
)/db
: |
$(STATIC_OUTDIR
)
157 $(STATIC_OUTDIR
)/helpers
/memenv
: |
$(STATIC_OUTDIR
)
160 $(STATIC_OUTDIR
)/port
: |
$(STATIC_OUTDIR
)
163 $(STATIC_OUTDIR
)/table
: |
$(STATIC_OUTDIR
)
166 $(STATIC_OUTDIR
)/util
: |
$(STATIC_OUTDIR
)
169 .PHONY
: STATIC_OBJDIRS
171 $(STATIC_OUTDIR
)/db \
172 $(STATIC_OUTDIR
)/port \
173 $(STATIC_OUTDIR
)/table \
174 $(STATIC_OUTDIR
)/util \
175 $(STATIC_OUTDIR
)/helpers
/memenv
180 $(SHARED_OUTDIR
)/db
: |
$(SHARED_OUTDIR
)
183 $(SHARED_OUTDIR
)/helpers
/memenv
: |
$(SHARED_OUTDIR
)
186 $(SHARED_OUTDIR
)/port
: |
$(SHARED_OUTDIR
)
189 $(SHARED_OUTDIR
)/table
: |
$(SHARED_OUTDIR
)
192 $(SHARED_OUTDIR
)/util
: |
$(SHARED_OUTDIR
)
195 .PHONY
: SHARED_OBJDIRS
197 $(SHARED_OUTDIR
)/db \
198 $(SHARED_OUTDIR
)/port \
199 $(SHARED_OUTDIR
)/table \
200 $(SHARED_OUTDIR
)/util \
201 $(SHARED_OUTDIR
)/helpers
/memenv
206 $(DEVICE_OUTDIR
)/db
: |
$(DEVICE_OUTDIR
)
209 $(DEVICE_OUTDIR
)/helpers
/memenv
: |
$(DEVICE_OUTDIR
)
212 $(DEVICE_OUTDIR
)/port
: |
$(DEVICE_OUTDIR
)
215 $(DEVICE_OUTDIR
)/table
: |
$(DEVICE_OUTDIR
)
218 $(DEVICE_OUTDIR
)/util
: |
$(DEVICE_OUTDIR
)
221 .PHONY
: DEVICE_OBJDIRS
223 $(DEVICE_OUTDIR
)/db \
224 $(DEVICE_OUTDIR
)/port \
225 $(DEVICE_OUTDIR
)/table \
226 $(DEVICE_OUTDIR
)/util \
227 $(DEVICE_OUTDIR
)/helpers
/memenv
232 $(SIMULATOR_OUTDIR
)/db
: |
$(SIMULATOR_OUTDIR
)
235 $(SIMULATOR_OUTDIR
)/helpers
/memenv
: |
$(SIMULATOR_OUTDIR
)
238 $(SIMULATOR_OUTDIR
)/port
: |
$(SIMULATOR_OUTDIR
)
241 $(SIMULATOR_OUTDIR
)/table
: |
$(SIMULATOR_OUTDIR
)
244 $(SIMULATOR_OUTDIR
)/util
: |
$(SIMULATOR_OUTDIR
)
247 .PHONY
: SIMULATOR_OBJDIRS
249 $(SIMULATOR_OUTDIR
)/db \
250 $(SIMULATOR_OUTDIR
)/port \
251 $(SIMULATOR_OUTDIR
)/table \
252 $(SIMULATOR_OUTDIR
)/util \
253 $(SIMULATOR_OUTDIR
)/helpers
/memenv
255 $(STATIC_ALLOBJS
): | STATIC_OBJDIRS
256 $(DEVICE_ALLOBJS
): | DEVICE_OBJDIRS
257 $(SIMULATOR_ALLOBJS
): | SIMULATOR_OBJDIRS
258 $(SHARED_ALLOBJS
): | SHARED_OBJDIRS
260 ifeq ($(PLATFORM
), IOS
)
261 $(DEVICE_OUTDIR
)/libleveldb.a
: $(DEVICE_LIBOBJECTS
)
263 $(AR
) -rs
$@
$(DEVICE_LIBOBJECTS
)
265 $(SIMULATOR_OUTDIR
)/libleveldb.a
: $(SIMULATOR_LIBOBJECTS
)
267 $(AR
) -rs
$@
$(SIMULATOR_LIBOBJECTS
)
269 $(DEVICE_OUTDIR
)/libmemenv.a
: $(DEVICE_MEMENVOBJECTS
)
271 $(AR
) -rs
$@
$(DEVICE_MEMENVOBJECTS
)
273 $(SIMULATOR_OUTDIR
)/libmemenv.a
: $(SIMULATOR_MEMENVOBJECTS
)
275 $(AR
) -rs
$@
$(SIMULATOR_MEMENVOBJECTS
)
277 # For iOS, create universal object libraries to be used on both the simulator and
279 $(STATIC_OUTDIR
)/libleveldb.a
: $(STATIC_OUTDIR
) $(DEVICE_OUTDIR
)/libleveldb.a
$(SIMULATOR_OUTDIR
)/libleveldb.a
280 lipo
-create
$(DEVICE_OUTDIR
)/libleveldb.a
$(SIMULATOR_OUTDIR
)/libleveldb.a
-output
$@
282 $(STATIC_OUTDIR
)/libmemenv.a
: $(STATIC_OUTDIR
) $(DEVICE_OUTDIR
)/libmemenv.a
$(SIMULATOR_OUTDIR
)/libmemenv.a
283 lipo
-create
$(DEVICE_OUTDIR
)/libmemenv.a
$(SIMULATOR_OUTDIR
)/libmemenv.a
-output
$@
285 $(STATIC_OUTDIR
)/libleveldb.a
:$(STATIC_LIBOBJECTS
)
287 $(AR
) -rs
$@
$(STATIC_LIBOBJECTS
)
289 $(STATIC_OUTDIR
)/libmemenv.a
:$(STATIC_MEMENVOBJECTS
)
291 $(AR
) -rs
$@
$(STATIC_MEMENVOBJECTS
)
294 $(SHARED_MEMENVLIB
):$(SHARED_MEMENVOBJECTS
)
296 $(AR
) -rs
$@
$(SHARED_MEMENVOBJECTS
)
298 $(STATIC_OUTDIR
)/db_bench
:db
/db_bench.
cc $(STATIC_LIBOBJECTS
) $(TESTUTIL
)
299 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/db_bench.
cc $(STATIC_LIBOBJECTS
) $(TESTUTIL
) -o
$@
$(LIBS
)
301 $(STATIC_OUTDIR
)/db_bench_sqlite3
:doc
/bench
/db_bench_sqlite3.
cc $(STATIC_LIBOBJECTS
) $(TESTUTIL
)
302 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) doc
/bench
/db_bench_sqlite3.
cc $(STATIC_LIBOBJECTS
) $(TESTUTIL
) -o
$@
-lsqlite3
$(LIBS
)
304 $(STATIC_OUTDIR
)/db_bench_tree_db
:doc
/bench
/db_bench_tree_db.
cc $(STATIC_LIBOBJECTS
) $(TESTUTIL
)
305 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) doc
/bench
/db_bench_tree_db.
cc $(STATIC_LIBOBJECTS
) $(TESTUTIL
) -o
$@
-lkyotocabinet
$(LIBS
)
307 $(STATIC_OUTDIR
)/leveldbutil
:db
/leveldbutil.
cc $(STATIC_LIBOBJECTS
)
308 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/leveldbutil.
cc $(STATIC_LIBOBJECTS
) -o
$@
$(LIBS
)
310 $(STATIC_OUTDIR
)/arena_test
:util
/arena_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
311 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) util
/arena_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
313 $(STATIC_OUTDIR
)/autocompact_test
:db
/autocompact_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
314 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/autocompact_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
316 $(STATIC_OUTDIR
)/bloom_test
:util
/bloom_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
317 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) util
/bloom_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
319 $(STATIC_OUTDIR
)/c_test
:$(STATIC_OUTDIR
)/db
/c_test.o
$(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
320 $(CXX
) $(LDFLAGS
) $(STATIC_OUTDIR
)/db
/c_test.o
$(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
322 $(STATIC_OUTDIR
)/cache_test
:util
/cache_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
323 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) util
/cache_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
325 $(STATIC_OUTDIR
)/coding_test
:util
/coding_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
326 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) util
/coding_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
328 $(STATIC_OUTDIR
)/corruption_test
:db
/corruption_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
329 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/corruption_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
331 $(STATIC_OUTDIR
)/crc32c_test
:util
/crc32c_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
332 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) util
/crc32c_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
334 $(STATIC_OUTDIR
)/db_test
:db
/db_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
335 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/db_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
337 $(STATIC_OUTDIR
)/dbformat_test
:db
/dbformat_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
338 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/dbformat_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
340 $(STATIC_OUTDIR
)/env_test
:util
/env_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
341 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) util
/env_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
343 $(STATIC_OUTDIR
)/fault_injection_test
:db
/fault_injection_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
344 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/fault_injection_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
346 $(STATIC_OUTDIR
)/filename_test
:db
/filename_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
347 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/filename_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
349 $(STATIC_OUTDIR
)/filter_block_test
:table
/filter_block_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
350 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) table
/filter_block_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
352 $(STATIC_OUTDIR
)/hash_test
:util
/hash_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
353 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) util
/hash_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
355 $(STATIC_OUTDIR
)/issue178_test
:issues
/issue178_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
356 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) issues
/issue178_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
358 $(STATIC_OUTDIR
)/issue200_test
:issues
/issue200_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
359 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) issues
/issue200_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
361 $(STATIC_OUTDIR
)/log_test
:db
/log_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
362 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/log_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
364 $(STATIC_OUTDIR
)/recovery_test
:db
/recovery_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
365 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/recovery_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
367 $(STATIC_OUTDIR
)/table_test
:table
/table_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
368 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) table
/table_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
370 $(STATIC_OUTDIR
)/skiplist_test
:db
/skiplist_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
371 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/skiplist_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
373 $(STATIC_OUTDIR
)/version_edit_test
:db
/version_edit_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
374 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/version_edit_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
376 $(STATIC_OUTDIR
)/version_set_test
:db
/version_set_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
377 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/version_set_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
379 $(STATIC_OUTDIR
)/write_batch_test
:db
/write_batch_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
)
380 $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) db
/write_batch_test.
cc $(STATIC_LIBOBJECTS
) $(TESTHARNESS
) -o
$@
$(LIBS
)
382 $(STATIC_OUTDIR
)/memenv_test
:$(STATIC_OUTDIR
)/helpers
/memenv
/memenv_test.o
$(STATIC_OUTDIR
)/libmemenv.a
$(STATIC_OUTDIR
)/libleveldb.a
$(TESTHARNESS
)
383 $(XCRUN
) $(CXX
) $(LDFLAGS
) $(STATIC_OUTDIR
)/helpers
/memenv
/memenv_test.o
$(STATIC_OUTDIR
)/libmemenv.a
$(STATIC_OUTDIR
)/libleveldb.a
$(TESTHARNESS
) -o
$@
$(LIBS
)
385 $(SHARED_OUTDIR
)/db_bench
:$(SHARED_OUTDIR
)/db
/db_bench.o
$(SHARED_LIBS
) $(TESTUTIL
)
386 $(XCRUN
) $(CXX
) $(LDFLAGS
) $(CXXFLAGS
) $(PLATFORM_SHARED_CFLAGS
) $(SHARED_OUTDIR
)/db
/db_bench.o
$(TESTUTIL
) $(SHARED_OUTDIR
)/$(SHARED_LIB3
) -o
$@
$(LIBS
)
389 run-shared
: $(SHARED_OUTDIR
)/db_bench
390 LD_LIBRARY_PATH
=$(SHARED_OUTDIR
) $(SHARED_OUTDIR
)/db_bench
392 $(SIMULATOR_OUTDIR
)/%.o
: %.
cc
393 xcrun
-sdk iphonesimulator
$(CXX
) $(CXXFLAGS
) $(SIMULATOR_CFLAGS
) -c
$< -o
$@
395 $(DEVICE_OUTDIR
)/%.o
: %.
cc
396 xcrun
-sdk iphoneos
$(CXX
) $(CXXFLAGS
) $(DEVICE_CFLAGS
) -c
$< -o
$@
398 $(SIMULATOR_OUTDIR
)/%.o
: %.c
399 xcrun
-sdk iphonesimulator
$(CC
) $(CFLAGS
) $(SIMULATOR_CFLAGS
) -c
$< -o
$@
401 $(DEVICE_OUTDIR
)/%.o
: %.c
402 xcrun
-sdk iphoneos
$(CC
) $(CFLAGS
) $(DEVICE_CFLAGS
) -c
$< -o
$@
404 $(STATIC_OUTDIR
)/%.o
: %.
cc
405 $(CXX
) $(CXXFLAGS
) -c
$< -o
$@
407 $(STATIC_OUTDIR
)/%.o
: %.c
408 $(CC
) $(CFLAGS
) -c
$< -o
$@
410 $(SHARED_OUTDIR
)/%.o
: %.
cc
411 $(CXX
) $(CXXFLAGS
) $(PLATFORM_SHARED_CFLAGS
) -c
$< -o
$@
413 $(SHARED_OUTDIR
)/%.o
: %.c
414 $(CC
) $(CFLAGS
) $(PLATFORM_SHARED_CFLAGS
) -c
$< -o
$@