@ -19,8 +19,8 @@ $(shell ./build_detect_platform build_config.mk)
# this file is generated by the previous line to set build flags and sources
i n c l u d e b u i l d _ c o n f i g . m k
CFLAGS += -I. -I./include $( PLATFORM_CCFLAGS) $( OPT)
CXXFLAGS += -I. -I./include $( PLATFORM_CXXFLAGS) $( OPT)
CFLAGS += -Werror - I. -I./include $( PLATFORM_CCFLAGS) $( OPT)
CXXFLAGS += -Werror - I. -I./include $( PLATFORM_CXXFLAGS) $( OPT)
LDFLAGS += $( PLATFORM_LDFLAGS)
@ -105,7 +105,7 @@ check: all $(PROGRAMS) $(TESTS) $(TOOLS)
for t in $( TESTS) ; do echo " ***** Running $$ t " ; ./$$ t || exit 1; done
clean :
-rm -f $( PROGRAMS) $( BENCHMARKS) $( LIBRARY) $( SHARED) $( MEMENVLIBRARY) $( THRIFTSERVER) */*.o */*/*.o ios-x86/*/*.o ios-arm/*/*.o build_config.mk $( VERSIONFILE)
-rm -f $( PROGRAMS) $( BENCHMARKS) $( LIBRARY) $( SHARED) $( MEMENVLIBRARY) $( THRIFTSERVER) */*.o */*/*.o ios-x86/*/*.o ios-arm/*/*.o build_config.mk $( VERSIONFILE) */*.d
-rm -rf ios-x86/* ios-arm/*
$(LIBRARY) : $( LIBOBJECTS )
@ -123,103 +123,95 @@ db_repl_stress: tools/db_repl_stress.o $(LIBOBJECTS) $(TESTUTIL)
$( CXX) tools/db_repl_stress.o $( LIBOBJECTS) $( TESTUTIL) $( EXEC_LDFLAGS) -o $@ $( LDFLAGS)
db_bench_sqlite3 : doc /bench /db_bench_sqlite 3.o $( LIBOBJECTS ) $( TESTUTIL )
$( CXX) doc/bench/db_bench_sqlite3.o $( LIBOBJECTS) $( TESTUTIL) -o $@ $( LDFLAGS) -lsqlite3
$( CXX) doc/bench/db_bench_sqlite3.o $( LIBOBJECTS) $( TESTUTIL) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS) -lsqlite3
db_bench_tree_db : doc /bench /db_bench_tree_db .o $( LIBOBJECTS ) $( TESTUTIL )
$( CXX) doc/bench/db_bench_tree_db.o $( LIBOBJECTS) $( TESTUTIL) -o $@ $( LDFLAGS) -lkyotocabinet
$( CXX) doc/bench/db_bench_tree_db.o $( LIBOBJECTS) $( TESTUTIL) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS) -lkyotocabinet
arena_test : util /arena_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) util/arena_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) util/arena_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
bloom_test : util /bloom_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) util/bloom_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) util/bloom_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
c_test : db /c_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) db/c_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) db/c_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
cache_test : util /cache_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) util/cache_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) util/cache_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
coding_test : util /coding_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) util/coding_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) util/coding_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
corruption_test : db /corruption_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) db/corruption_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) db/corruption_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
crc32c_test : util /crc 32c_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) util/crc32c_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) util/crc32c_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
db_test : db /db_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) db/db_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) db/db_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
dbformat_test : db /dbformat_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) db/dbformat_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) db/dbformat_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
env_test : util /env_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) util/env_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) util/env_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
filename_test : db /filename_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) db/filename_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) db/filename_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
filter_block_test : table /filter_block_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) table/filter_block_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) table/filter_block_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
log_test : db /log_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) db/log_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) db/log_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
table_test : table /table_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) table/table_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) table/table_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
block_test : table /block_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) table/block_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) table/block_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
skiplist_test : db /skiplist_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) db/skiplist_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) db/skiplist_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
version_edit_test : db /version_edit_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) db/version_edit_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) db/version_edit_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
version_set_test : db /version_set_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) db/version_set_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) db/version_set_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
reduce_levels_test : tools /reduce_levels_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) tools/reduce_levels_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) tools/reduce_levels_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
write_batch_test : db /write_batch_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) db/write_batch_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) db/write_batch_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
$(MEMENVLIBRARY) : $( MEMENVOBJECTS )
rm -f $@
$( AR) -rs $@ $( MEMENVOBJECTS)
memenv_test : helpers /memenv /memenv_test .o $( MEMENVLIBRARY ) $( LIBRARY ) $( TESTHARNESS )
$( CXX) helpers/memenv/memenv_test.o $( MEMENVLIBRARY) $( LIBRARY) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) helpers/memenv/memenv_test.o $( MEMENVLIBRARY) $( LIBRARY) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
leveldb_shell : tools /shell /ShellContext .o tools /shell /ShellState .o tools /shell /LeveldbShell .o tools /shell /DBClientProxy .o tools /shell /ShellContext .h tools /shell /ShellState .h tools /shell /DBClientProxy .h $( LIBOBJECTS )
$( CXX) tools/shell/ShellContext.o tools/shell/ShellState.o tools/shell/LeveldbShell.o tools/shell/DBClientProxy.o $( LIBOBJECTS) -o $@ $( LDFLAGS)
$( CXX) tools/shell/ShellContext.o tools/shell/ShellState.o tools/shell/LeveldbShell.o tools/shell/DBClientProxy.o $( LIBOBJECTS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
DBClientProxy_test : tools /shell /test /DBClientProxyTest .o tools /shell /DBClientProxy .o $( LIBRARY )
$( CXX) tools/shell/test/DBClientProxyTest.o tools/shell/DBClientProxy.o $( LIBRARY) $( EXEC_LDFLAGS) -o $@ $( LDFLAGS)
$( CXX) tools/shell/test/DBClientProxyTest.o tools/shell/DBClientProxy.o $( LIBRARY) $( EXEC_LDFLAGS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
manifest_dump : tools /manifest_dump .o $( LIBOBJECTS )
$( CXX) tools/manifest_dump.o $( LIBOBJECTS) -o $@ $( LDFLAGS)
$( CXX) tools/manifest_dump.o $( LIBOBJECTS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
filelock_test : util /filelock_test .o $( LIBOBJECTS ) $( TESTHARNESS )
$( CXX) util/filelock_test.o $( LIBOBJECTS) $( TESTHARNESS) -o $@ $( LDFLAGS)
$( CXX) util/filelock_test.o $( LIBOBJECTS) $( TESTHARNESS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
sst_dump : tools /sst_dump .o $( LIBOBJECTS )
$( CXX) tools/sst_dump.o $( LIBOBJECTS) -o $@ $( LDFLAGS)
$( CXX) tools/sst_dump.o $( LIBOBJECTS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
ldb : tools /ldb .o $( LIBOBJECTS )
$( CXX) tools/ldb.o $( LIBOBJECTS) -o $@ $( LDFLAGS)
# recreate the version file with the latest git revision
$(VERSIONFILE) : build_detect_version
$( shell ./build_detect_platform build_config.mk)
# recreate the version file with the latest git revision
$(VERSIONFILE) : build_detect_version
$( shell ./build_detect_platform build_config.mk)
$( CXX) tools/ldb.o $( LIBOBJECTS) $( EXEC_LDFLAGS) -o$@ $( LDFLAGS)
i f e q ( $( PLATFORM ) , I O S )
# For iOS, create universal object files to be used on both the simulator and
@ -250,3 +242,18 @@ else
.c.o :
$( CC) $( CFLAGS) $( PLATFORM_SHARED_CFLAGS) -c $< -o $@
e n d i f
%.d : %.cc
$( CXX) $( CXXFLAGS) $( PLATFORM_SHARED_CFLAGS) -MM $< -o $* .d
@cp -f $* .d $* .d.tmp
@sed -e 's|.*:|$*.o:|' < $* .d.tmp > $* .d
@rm -f $* .d.tmp
DEPFILES = $( filter-out util/build_version.d,$( SOURCES:.cc= .d) )
depend : $( DEPFILES )
i f n e q ( $( MAKECMDGOALS ) , c l e a n )
- i n c l u d e $( DEPFILES )
e n d i f