169c6d383S[email protected]# Copyright (c) 2011 The LevelDB Authors. All rights reserved. 269c6d383S[email protected]# Use of this source code is governed by a BSD-style license that can be 369c6d383S[email protected]# found in the LICENSE file. See the AUTHORS file for names of contributors. 469c6d383S[email protected] 5c4f55149S[email protected]#----------------------------------------------- 6c4f55149S[email protected]# Uncomment exactly one of the lines labelled (A), (B), and (C) below 7c4f55149S[email protected]# to switch between compilation modes. 8c4f55149S[email protected] 9803d6920SChris Mumford# (A) Production use (optimized mode) 10803d6920SChris MumfordOPT ?= -O2 -DNDEBUG 11803d6920SChris Mumford# (B) Debug mode, w/ full line-level debugging symbols 12803d6920SChris Mumford# OPT ?= -g2 13803d6920SChris Mumford# (C) Profiling mode: opt, but w/debugging symbols 14803d6920SChris Mumford# OPT ?= -O2 -g2 -DNDEBUG 15c4f55149S[email protected]#----------------------------------------------- 16c4f55149S[email protected] 17f57e2335S[email protected]# detect what platform we're building on 1828dad918SDavid Grogan$(shell CC="$(CC)" CXX="$(CXX)" TARGET_OS="$(TARGET_OS)" \ 19946e5b5aSDavid Grogan ./build_detect_platform build_config.mk ./) 2085584d49SSanjay Ghemawat# this file is generated by the previous line to set build flags and sources 21f57e2335S[email protected]include build_config.mk 2269c6d383S[email protected] 23adbe3eb0ScmumfordTESTS = \ 24adbe3eb0Scmumford db/autocompact_test \ 25adbe3eb0Scmumford db/c_test \ 26adbe3eb0Scmumford db/corruption_test \ 27adbe3eb0Scmumford db/db_test \ 28adbe3eb0Scmumford db/dbformat_test \ 29adbe3eb0Scmumford db/fault_injection_test \ 30adbe3eb0Scmumford db/filename_test \ 31adbe3eb0Scmumford db/log_test \ 32adbe3eb0Scmumford db/recovery_test \ 33adbe3eb0Scmumford db/skiplist_test \ 34adbe3eb0Scmumford db/version_edit_test \ 35adbe3eb0Scmumford db/version_set_test \ 36adbe3eb0Scmumford db/write_batch_test \ 37adbe3eb0Scmumford helpers/memenv/memenv_test \ 38adbe3eb0Scmumford issues/issue178_test \ 39adbe3eb0Scmumford issues/issue200_test \ 40adbe3eb0Scmumford table/filter_block_test \ 41adbe3eb0Scmumford table/table_test \ 42adbe3eb0Scmumford util/arena_test \ 43adbe3eb0Scmumford util/bloom_test \ 44adbe3eb0Scmumford util/cache_test \ 45adbe3eb0Scmumford util/coding_test \ 46adbe3eb0Scmumford util/crc32c_test \ 47f3f13973Scostan util/env_posix_test \ 48adbe3eb0Scmumford util/env_test \ 49adbe3eb0Scmumford util/hash_test 50adbe3eb0Scmumford 51adbe3eb0ScmumfordUTILS = \ 52adbe3eb0Scmumford db/db_bench \ 53adbe3eb0Scmumford db/leveldbutil 54adbe3eb0Scmumford 55adbe3eb0Scmumford# Put the object files in a subdirectory, but the application at the top of the object dir. 56adbe3eb0ScmumfordPROGNAMES := $(notdir $(TESTS) $(UTILS)) 57adbe3eb0Scmumford 58adbe3eb0Scmumford# On Linux may need libkyotocabinet-dev for dependency. 59adbe3eb0ScmumfordBENCHMARKS = \ 60adbe3eb0Scmumford doc/bench/db_bench_sqlite3 \ 61adbe3eb0Scmumford doc/bench/db_bench_tree_db 62adbe3eb0Scmumford 63bc1ee4d2SSanjay GhemawatCFLAGS += -I. -I./include $(PLATFORM_CCFLAGS) $(OPT) 64bc1ee4d2SSanjay GhemawatCXXFLAGS += -I. -I./include $(PLATFORM_CXXFLAGS) $(OPT) 65ccf0fcd5S[email protected] 66a1ad4d19SSanjay GhemawatLDFLAGS += $(PLATFORM_LDFLAGS) 6740768657SSanjay GhemawatLIBS += $(PLATFORM_LIBS) 68ccf0fcd5S[email protected] 69adbe3eb0ScmumfordSIMULATOR_OUTDIR=out-ios-x86 70adbe3eb0ScmumfordDEVICE_OUTDIR=out-ios-arm 7169c6d383S[email protected] 72803d6920SChris Mumfordifeq ($(PLATFORM), IOS) 73adbe3eb0Scmumford# Note: iOS should probably be using libtool, not ar. 74803d6920SChris MumfordAR=xcrun ar 75adbe3eb0ScmumfordSIMULATORSDK=$(shell xcrun -sdk iphonesimulator --show-sdk-path) 76adbe3eb0ScmumfordDEVICESDK=$(shell xcrun -sdk iphoneos --show-sdk-path) 77adbe3eb0ScmumfordDEVICE_CFLAGS = -isysroot "$(DEVICESDK)" -arch armv6 -arch armv7 -arch armv7s -arch arm64 78adbe3eb0ScmumfordSIMULATOR_CFLAGS = -isysroot "$(SIMULATORSDK)" -arch i686 -arch x86_64 79adbe3eb0ScmumfordSTATIC_OUTDIR=out-ios-universal 80adbe3eb0Scmumfordelse 81adbe3eb0ScmumfordSTATIC_OUTDIR=out-static 82adbe3eb0ScmumfordSHARED_OUTDIR=out-shared 83adbe3eb0ScmumfordSTATIC_PROGRAMS := $(addprefix $(STATIC_OUTDIR)/, $(PROGNAMES)) 84adbe3eb0ScmumfordSHARED_PROGRAMS := $(addprefix $(SHARED_OUTDIR)/, db_bench) 85803d6920SChris Mumfordendif 86803d6920SChris Mumford 87adbe3eb0ScmumfordSTATIC_LIBOBJECTS := $(addprefix $(STATIC_OUTDIR)/, $(SOURCES:.cc=.o)) 88adbe3eb0ScmumfordSTATIC_MEMENVOBJECTS := $(addprefix $(STATIC_OUTDIR)/, $(MEMENV_SOURCES:.cc=.o)) 8969c6d383S[email protected] 90adbe3eb0ScmumfordDEVICE_LIBOBJECTS := $(addprefix $(DEVICE_OUTDIR)/, $(SOURCES:.cc=.o)) 91adbe3eb0ScmumfordDEVICE_MEMENVOBJECTS := $(addprefix $(DEVICE_OUTDIR)/, $(MEMENV_SOURCES:.cc=.o)) 9269c6d383S[email protected] 93adbe3eb0ScmumfordSIMULATOR_LIBOBJECTS := $(addprefix $(SIMULATOR_OUTDIR)/, $(SOURCES:.cc=.o)) 94adbe3eb0ScmumfordSIMULATOR_MEMENVOBJECTS := $(addprefix $(SIMULATOR_OUTDIR)/, $(MEMENV_SOURCES:.cc=.o)) 95adbe3eb0Scmumford 96adbe3eb0ScmumfordSHARED_LIBOBJECTS := $(addprefix $(SHARED_OUTDIR)/, $(SOURCES:.cc=.o)) 97adbe3eb0ScmumfordSHARED_MEMENVOBJECTS := $(addprefix $(SHARED_OUTDIR)/, $(MEMENV_SOURCES:.cc=.o)) 98adbe3eb0Scmumford 99adbe3eb0ScmumfordTESTUTIL := $(STATIC_OUTDIR)/util/testutil.o 100adbe3eb0ScmumfordTESTHARNESS := $(STATIC_OUTDIR)/util/testharness.o $(TESTUTIL) 101adbe3eb0Scmumford 102adbe3eb0ScmumfordSTATIC_TESTOBJS := $(addprefix $(STATIC_OUTDIR)/, $(addsuffix .o, $(TESTS))) 103adbe3eb0ScmumfordSTATIC_UTILOBJS := $(addprefix $(STATIC_OUTDIR)/, $(addsuffix .o, $(UTILS))) 104adbe3eb0ScmumfordSTATIC_ALLOBJS := $(STATIC_LIBOBJECTS) $(STATIC_MEMENVOBJECTS) $(STATIC_TESTOBJS) $(STATIC_UTILOBJS) $(TESTHARNESS) 105adbe3eb0ScmumfordDEVICE_ALLOBJS := $(DEVICE_LIBOBJECTS) $(DEVICE_MEMENVOBJECTS) 106adbe3eb0ScmumfordSIMULATOR_ALLOBJS := $(SIMULATOR_LIBOBJECTS) $(SIMULATOR_MEMENVOBJECTS) 107740d8b3dS[email protected] 108bc1ee4d2SSanjay Ghemawatdefault: all 10969c6d383S[email protected] 110bc1ee4d2SSanjay Ghemawat# Should we build shared libraries? 111bc1ee4d2SSanjay Ghemawatifneq ($(PLATFORM_SHARED_EXT),) 112075a35a6SSanjay Ghemawat 113adbe3eb0Scmumford# Many leveldb test apps use non-exported API's. Only build a subset for testing. 114adbe3eb0ScmumfordSHARED_ALLOBJS := $(SHARED_LIBOBJECTS) $(SHARED_MEMENVOBJECTS) $(TESTHARNESS) 115adbe3eb0Scmumford 116075a35a6SSanjay Ghemawatifneq ($(PLATFORM_SHARED_VERSIONED),true) 117adbe3eb0ScmumfordSHARED_LIB1 = libleveldb.$(PLATFORM_SHARED_EXT) 118adbe3eb0ScmumfordSHARED_LIB2 = $(SHARED_LIB1) 119adbe3eb0ScmumfordSHARED_LIB3 = $(SHARED_LIB1) 120adbe3eb0ScmumfordSHARED_LIBS = $(SHARED_LIB1) 121adbe3eb0ScmumfordSHARED_MEMENVLIB = $(SHARED_OUTDIR)/libmemenv.a 122075a35a6SSanjay Ghemawatelse 123bc1ee4d2SSanjay Ghemawat# Update db.h if you change these. 124adbe3eb0ScmumfordSHARED_VERSION_MAJOR = 1 125*a53934a3ScostanSHARED_VERSION_MINOR = 20 126adbe3eb0ScmumfordSHARED_LIB1 = libleveldb.$(PLATFORM_SHARED_EXT) 127adbe3eb0ScmumfordSHARED_LIB2 = $(SHARED_LIB1).$(SHARED_VERSION_MAJOR) 128adbe3eb0ScmumfordSHARED_LIB3 = $(SHARED_LIB1).$(SHARED_VERSION_MAJOR).$(SHARED_VERSION_MINOR) 129adbe3eb0ScmumfordSHARED_LIBS = $(SHARED_OUTDIR)/$(SHARED_LIB1) $(SHARED_OUTDIR)/$(SHARED_LIB2) $(SHARED_OUTDIR)/$(SHARED_LIB3) 130adbe3eb0Scmumford$(SHARED_OUTDIR)/$(SHARED_LIB1): $(SHARED_OUTDIR)/$(SHARED_LIB3) 131adbe3eb0Scmumford ln -fs $(SHARED_LIB3) $(SHARED_OUTDIR)/$(SHARED_LIB1) 132adbe3eb0Scmumford$(SHARED_OUTDIR)/$(SHARED_LIB2): $(SHARED_OUTDIR)/$(SHARED_LIB3) 133adbe3eb0Scmumford ln -fs $(SHARED_LIB3) $(SHARED_OUTDIR)/$(SHARED_LIB2) 134adbe3eb0ScmumfordSHARED_MEMENVLIB = $(SHARED_OUTDIR)/libmemenv.a 135bc1ee4d2SSanjay Ghemawatendif 136bc1ee4d2SSanjay Ghemawat 137adbe3eb0Scmumford$(SHARED_OUTDIR)/$(SHARED_LIB3): $(SHARED_LIBOBJECTS) 138adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(PLATFORM_SHARED_LDFLAGS)$(SHARED_LIB2) $(SHARED_LIBOBJECTS) -o $(SHARED_OUTDIR)/$(SHARED_LIB3) $(LIBS) 139075a35a6SSanjay Ghemawat 140075a35a6SSanjay Ghemawatendif # PLATFORM_SHARED_EXT 141075a35a6SSanjay Ghemawat 142adbe3eb0Scmumfordall: $(SHARED_LIBS) $(SHARED_PROGRAMS) $(STATIC_OUTDIR)/libleveldb.a $(STATIC_OUTDIR)/libmemenv.a $(STATIC_PROGRAMS) 143bc1ee4d2SSanjay Ghemawat 144adbe3eb0Scmumfordcheck: $(STATIC_PROGRAMS) 145adbe3eb0Scmumford for t in $(notdir $(TESTS)); do echo "***** Running $$t"; $(STATIC_OUTDIR)/$$t || exit 1; done 14669c6d383S[email protected] 14769c6d383S[email protected]clean: 148adbe3eb0Scmumford -rm -rf out-static out-shared out-ios-x86 out-ios-arm out-ios-universal 149adbe3eb0Scmumford -rm -f build_config.mk 150adbe3eb0Scmumford -rm -rf ios-x86 ios-arm 151740d8b3dS[email protected] 152adbe3eb0Scmumford$(STATIC_OUTDIR): 153adbe3eb0Scmumford mkdir $@ 15469c6d383S[email protected] 155adbe3eb0Scmumford$(STATIC_OUTDIR)/db: | $(STATIC_OUTDIR) 156adbe3eb0Scmumford mkdir $@ 15769c6d383S[email protected] 158adbe3eb0Scmumford$(STATIC_OUTDIR)/helpers/memenv: | $(STATIC_OUTDIR) 159adbe3eb0Scmumford mkdir -p $@ 160f122c6dfS[email protected] 161adbe3eb0Scmumford$(STATIC_OUTDIR)/port: | $(STATIC_OUTDIR) 162adbe3eb0Scmumford mkdir $@ 163f122c6dfS[email protected] 164adbe3eb0Scmumford$(STATIC_OUTDIR)/table: | $(STATIC_OUTDIR) 165adbe3eb0Scmumford mkdir $@ 166ea2e9195SSanjay Ghemawat 167adbe3eb0Scmumford$(STATIC_OUTDIR)/util: | $(STATIC_OUTDIR) 168adbe3eb0Scmumford mkdir $@ 16969c6d383S[email protected] 170adbe3eb0Scmumford.PHONY: STATIC_OBJDIRS 171adbe3eb0ScmumfordSTATIC_OBJDIRS: \ 172adbe3eb0Scmumford $(STATIC_OUTDIR)/db \ 173adbe3eb0Scmumford $(STATIC_OUTDIR)/port \ 174adbe3eb0Scmumford $(STATIC_OUTDIR)/table \ 175adbe3eb0Scmumford $(STATIC_OUTDIR)/util \ 176adbe3eb0Scmumford $(STATIC_OUTDIR)/helpers/memenv 177748539c1SDavid Grogan 178adbe3eb0Scmumford$(SHARED_OUTDIR): 179adbe3eb0Scmumford mkdir $@ 18085584d49SSanjay Ghemawat 181adbe3eb0Scmumford$(SHARED_OUTDIR)/db: | $(SHARED_OUTDIR) 182adbe3eb0Scmumford mkdir $@ 183021ee9c3S[email protected] 184adbe3eb0Scmumford$(SHARED_OUTDIR)/helpers/memenv: | $(SHARED_OUTDIR) 185adbe3eb0Scmumford mkdir -p $@ 18669c6d383S[email protected] 187adbe3eb0Scmumford$(SHARED_OUTDIR)/port: | $(SHARED_OUTDIR) 188adbe3eb0Scmumford mkdir $@ 18969c6d383S[email protected] 190adbe3eb0Scmumford$(SHARED_OUTDIR)/table: | $(SHARED_OUTDIR) 191adbe3eb0Scmumford mkdir $@ 19269c6d383S[email protected] 193adbe3eb0Scmumford$(SHARED_OUTDIR)/util: | $(SHARED_OUTDIR) 194adbe3eb0Scmumford mkdir $@ 19569c6d383S[email protected] 196adbe3eb0Scmumford.PHONY: SHARED_OBJDIRS 197adbe3eb0ScmumfordSHARED_OBJDIRS: \ 198adbe3eb0Scmumford $(SHARED_OUTDIR)/db \ 199adbe3eb0Scmumford $(SHARED_OUTDIR)/port \ 200adbe3eb0Scmumford $(SHARED_OUTDIR)/table \ 201adbe3eb0Scmumford $(SHARED_OUTDIR)/util \ 202adbe3eb0Scmumford $(SHARED_OUTDIR)/helpers/memenv 20369c6d383S[email protected] 204adbe3eb0Scmumford$(DEVICE_OUTDIR): 205adbe3eb0Scmumford mkdir $@ 20669c6d383S[email protected] 207adbe3eb0Scmumford$(DEVICE_OUTDIR)/db: | $(DEVICE_OUTDIR) 208adbe3eb0Scmumford mkdir $@ 20969c6d383S[email protected] 210adbe3eb0Scmumford$(DEVICE_OUTDIR)/helpers/memenv: | $(DEVICE_OUTDIR) 211adbe3eb0Scmumford mkdir -p $@ 212b234f65bSChris Mumford 213adbe3eb0Scmumford$(DEVICE_OUTDIR)/port: | $(DEVICE_OUTDIR) 214adbe3eb0Scmumford mkdir $@ 21569c6d383S[email protected] 216adbe3eb0Scmumford$(DEVICE_OUTDIR)/table: | $(DEVICE_OUTDIR) 217adbe3eb0Scmumford mkdir $@ 21885584d49SSanjay Ghemawat 219adbe3eb0Scmumford$(DEVICE_OUTDIR)/util: | $(DEVICE_OUTDIR) 220adbe3eb0Scmumford mkdir $@ 221803d6920SChris Mumford 222adbe3eb0Scmumford.PHONY: DEVICE_OBJDIRS 223adbe3eb0ScmumfordDEVICE_OBJDIRS: \ 224adbe3eb0Scmumford $(DEVICE_OUTDIR)/db \ 225adbe3eb0Scmumford $(DEVICE_OUTDIR)/port \ 226adbe3eb0Scmumford $(DEVICE_OUTDIR)/table \ 227adbe3eb0Scmumford $(DEVICE_OUTDIR)/util \ 228adbe3eb0Scmumford $(DEVICE_OUTDIR)/helpers/memenv 2297b094f12SDavid Grogan 230adbe3eb0Scmumford$(SIMULATOR_OUTDIR): 231adbe3eb0Scmumford mkdir $@ 2320b9a89f4SDavid Grogan 233adbe3eb0Scmumford$(SIMULATOR_OUTDIR)/db: | $(SIMULATOR_OUTDIR) 234adbe3eb0Scmumford mkdir $@ 23569c6d383S[email protected] 236adbe3eb0Scmumford$(SIMULATOR_OUTDIR)/helpers/memenv: | $(SIMULATOR_OUTDIR) 237adbe3eb0Scmumford mkdir -p $@ 238ac1d69daSSanjay Ghemawat 239adbe3eb0Scmumford$(SIMULATOR_OUTDIR)/port: | $(SIMULATOR_OUTDIR) 240adbe3eb0Scmumford mkdir $@ 24169c6d383S[email protected] 242adbe3eb0Scmumford$(SIMULATOR_OUTDIR)/table: | $(SIMULATOR_OUTDIR) 243adbe3eb0Scmumford mkdir $@ 24469c6d383S[email protected] 245adbe3eb0Scmumford$(SIMULATOR_OUTDIR)/util: | $(SIMULATOR_OUTDIR) 246adbe3eb0Scmumford mkdir $@ 24769c6d383S[email protected] 248adbe3eb0Scmumford.PHONY: SIMULATOR_OBJDIRS 249adbe3eb0ScmumfordSIMULATOR_OBJDIRS: \ 250adbe3eb0Scmumford $(SIMULATOR_OUTDIR)/db \ 251adbe3eb0Scmumford $(SIMULATOR_OUTDIR)/port \ 252adbe3eb0Scmumford $(SIMULATOR_OUTDIR)/table \ 253adbe3eb0Scmumford $(SIMULATOR_OUTDIR)/util \ 254adbe3eb0Scmumford $(SIMULATOR_OUTDIR)/helpers/memenv 255ccf0fcd5S[email protected] 256adbe3eb0Scmumford$(STATIC_ALLOBJS): | STATIC_OBJDIRS 257adbe3eb0Scmumford$(DEVICE_ALLOBJS): | DEVICE_OBJDIRS 258adbe3eb0Scmumford$(SIMULATOR_ALLOBJS): | SIMULATOR_OBJDIRS 259adbe3eb0Scmumford$(SHARED_ALLOBJS): | SHARED_OBJDIRS 260213a68ebSHans Wennborg 261740d8b3dS[email protected]ifeq ($(PLATFORM), IOS) 262adbe3eb0Scmumford$(DEVICE_OUTDIR)/libleveldb.a: $(DEVICE_LIBOBJECTS) 263adbe3eb0Scmumford rm -f $@ 264adbe3eb0Scmumford $(AR) -rs $@ $(DEVICE_LIBOBJECTS) 265adbe3eb0Scmumford 266adbe3eb0Scmumford$(SIMULATOR_OUTDIR)/libleveldb.a: $(SIMULATOR_LIBOBJECTS) 267adbe3eb0Scmumford rm -f $@ 268adbe3eb0Scmumford $(AR) -rs $@ $(SIMULATOR_LIBOBJECTS) 269adbe3eb0Scmumford 270adbe3eb0Scmumford$(DEVICE_OUTDIR)/libmemenv.a: $(DEVICE_MEMENVOBJECTS) 271adbe3eb0Scmumford rm -f $@ 272adbe3eb0Scmumford $(AR) -rs $@ $(DEVICE_MEMENVOBJECTS) 273adbe3eb0Scmumford 274adbe3eb0Scmumford$(SIMULATOR_OUTDIR)/libmemenv.a: $(SIMULATOR_MEMENVOBJECTS) 275adbe3eb0Scmumford rm -f $@ 276adbe3eb0Scmumford $(AR) -rs $@ $(SIMULATOR_MEMENVOBJECTS) 277adbe3eb0Scmumford 278adbe3eb0Scmumford# For iOS, create universal object libraries to be used on both the simulator and 279740d8b3dS[email protected]# a device. 280adbe3eb0Scmumford$(STATIC_OUTDIR)/libleveldb.a: $(STATIC_OUTDIR) $(DEVICE_OUTDIR)/libleveldb.a $(SIMULATOR_OUTDIR)/libleveldb.a 281adbe3eb0Scmumford lipo -create $(DEVICE_OUTDIR)/libleveldb.a $(SIMULATOR_OUTDIR)/libleveldb.a -output $@ 28285f0ab19S[email protected] 283adbe3eb0Scmumford$(STATIC_OUTDIR)/libmemenv.a: $(STATIC_OUTDIR) $(DEVICE_OUTDIR)/libmemenv.a $(SIMULATOR_OUTDIR)/libmemenv.a 284adbe3eb0Scmumford lipo -create $(DEVICE_OUTDIR)/libmemenv.a $(SIMULATOR_OUTDIR)/libmemenv.a -output $@ 285740d8b3dS[email protected]else 286adbe3eb0Scmumford$(STATIC_OUTDIR)/libleveldb.a:$(STATIC_LIBOBJECTS) 287adbe3eb0Scmumford rm -f $@ 288adbe3eb0Scmumford $(AR) -rs $@ $(STATIC_LIBOBJECTS) 289adbe3eb0Scmumford 290adbe3eb0Scmumford$(STATIC_OUTDIR)/libmemenv.a:$(STATIC_MEMENVOBJECTS) 291adbe3eb0Scmumford rm -f $@ 292adbe3eb0Scmumford $(AR) -rs $@ $(STATIC_MEMENVOBJECTS) 293adbe3eb0Scmumfordendif 294adbe3eb0Scmumford 295adbe3eb0Scmumford$(SHARED_MEMENVLIB):$(SHARED_MEMENVOBJECTS) 296adbe3eb0Scmumford rm -f $@ 297adbe3eb0Scmumford $(AR) -rs $@ $(SHARED_MEMENVOBJECTS) 298adbe3eb0Scmumford 299adbe3eb0Scmumford$(STATIC_OUTDIR)/db_bench:db/db_bench.cc $(STATIC_LIBOBJECTS) $(TESTUTIL) 300adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/db_bench.cc $(STATIC_LIBOBJECTS) $(TESTUTIL) -o $@ $(LIBS) 301adbe3eb0Scmumford 302adbe3eb0Scmumford$(STATIC_OUTDIR)/db_bench_sqlite3:doc/bench/db_bench_sqlite3.cc $(STATIC_LIBOBJECTS) $(TESTUTIL) 303adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) doc/bench/db_bench_sqlite3.cc $(STATIC_LIBOBJECTS) $(TESTUTIL) -o $@ -lsqlite3 $(LIBS) 304adbe3eb0Scmumford 305adbe3eb0Scmumford$(STATIC_OUTDIR)/db_bench_tree_db:doc/bench/db_bench_tree_db.cc $(STATIC_LIBOBJECTS) $(TESTUTIL) 306adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) doc/bench/db_bench_tree_db.cc $(STATIC_LIBOBJECTS) $(TESTUTIL) -o $@ -lkyotocabinet $(LIBS) 307adbe3eb0Scmumford 308adbe3eb0Scmumford$(STATIC_OUTDIR)/leveldbutil:db/leveldbutil.cc $(STATIC_LIBOBJECTS) 309adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/leveldbutil.cc $(STATIC_LIBOBJECTS) -o $@ $(LIBS) 310adbe3eb0Scmumford 311adbe3eb0Scmumford$(STATIC_OUTDIR)/arena_test:util/arena_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 312adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) util/arena_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 313adbe3eb0Scmumford 314adbe3eb0Scmumford$(STATIC_OUTDIR)/autocompact_test:db/autocompact_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 315adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/autocompact_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 316adbe3eb0Scmumford 317adbe3eb0Scmumford$(STATIC_OUTDIR)/bloom_test:util/bloom_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 318adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) util/bloom_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 319adbe3eb0Scmumford 320adbe3eb0Scmumford$(STATIC_OUTDIR)/c_test:$(STATIC_OUTDIR)/db/c_test.o $(STATIC_LIBOBJECTS) $(TESTHARNESS) 321adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(STATIC_OUTDIR)/db/c_test.o $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 322adbe3eb0Scmumford 323adbe3eb0Scmumford$(STATIC_OUTDIR)/cache_test:util/cache_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 324adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) util/cache_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 325adbe3eb0Scmumford 326adbe3eb0Scmumford$(STATIC_OUTDIR)/coding_test:util/coding_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 327adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) util/coding_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 328adbe3eb0Scmumford 329adbe3eb0Scmumford$(STATIC_OUTDIR)/corruption_test:db/corruption_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 330adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/corruption_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 331adbe3eb0Scmumford 332adbe3eb0Scmumford$(STATIC_OUTDIR)/crc32c_test:util/crc32c_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 333adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) util/crc32c_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 334adbe3eb0Scmumford 335adbe3eb0Scmumford$(STATIC_OUTDIR)/db_test:db/db_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 336adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/db_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 337adbe3eb0Scmumford 338adbe3eb0Scmumford$(STATIC_OUTDIR)/dbformat_test:db/dbformat_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 339adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/dbformat_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 340adbe3eb0Scmumford 341f3f13973Scostan$(STATIC_OUTDIR)/env_posix_test:util/env_posix_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 342f3f13973Scostan $(CXX) $(LDFLAGS) $(CXXFLAGS) util/env_posix_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 343f3f13973Scostan 344adbe3eb0Scmumford$(STATIC_OUTDIR)/env_test:util/env_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 345adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) util/env_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 346adbe3eb0Scmumford 347adbe3eb0Scmumford$(STATIC_OUTDIR)/fault_injection_test:db/fault_injection_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 348adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/fault_injection_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 349adbe3eb0Scmumford 350adbe3eb0Scmumford$(STATIC_OUTDIR)/filename_test:db/filename_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 351adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/filename_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 352adbe3eb0Scmumford 353adbe3eb0Scmumford$(STATIC_OUTDIR)/filter_block_test:table/filter_block_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 354adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) table/filter_block_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 355adbe3eb0Scmumford 356adbe3eb0Scmumford$(STATIC_OUTDIR)/hash_test:util/hash_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 357adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) util/hash_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 358adbe3eb0Scmumford 359adbe3eb0Scmumford$(STATIC_OUTDIR)/issue178_test:issues/issue178_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 360adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) issues/issue178_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 361adbe3eb0Scmumford 362adbe3eb0Scmumford$(STATIC_OUTDIR)/issue200_test:issues/issue200_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 363adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) issues/issue200_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 364adbe3eb0Scmumford 365adbe3eb0Scmumford$(STATIC_OUTDIR)/log_test:db/log_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 366adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/log_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 367adbe3eb0Scmumford 368adbe3eb0Scmumford$(STATIC_OUTDIR)/recovery_test:db/recovery_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 369adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/recovery_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 370adbe3eb0Scmumford 371adbe3eb0Scmumford$(STATIC_OUTDIR)/table_test:table/table_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 372adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) table/table_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 373adbe3eb0Scmumford 374adbe3eb0Scmumford$(STATIC_OUTDIR)/skiplist_test:db/skiplist_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 375adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/skiplist_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 376adbe3eb0Scmumford 377adbe3eb0Scmumford$(STATIC_OUTDIR)/version_edit_test:db/version_edit_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 378adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/version_edit_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 379adbe3eb0Scmumford 380adbe3eb0Scmumford$(STATIC_OUTDIR)/version_set_test:db/version_set_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 381adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/version_set_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 382adbe3eb0Scmumford 383adbe3eb0Scmumford$(STATIC_OUTDIR)/write_batch_test:db/write_batch_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) 384adbe3eb0Scmumford $(CXX) $(LDFLAGS) $(CXXFLAGS) db/write_batch_test.cc $(STATIC_LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS) 385adbe3eb0Scmumford 386adbe3eb0Scmumford$(STATIC_OUTDIR)/memenv_test:$(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) 387adbe3eb0Scmumford $(XCRUN) $(CXX) $(LDFLAGS) $(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) -o $@ $(LIBS) 388adbe3eb0Scmumford 389adbe3eb0Scmumford$(SHARED_OUTDIR)/db_bench:$(SHARED_OUTDIR)/db/db_bench.o $(SHARED_LIBS) $(TESTUTIL) 390adbe3eb0Scmumford $(XCRUN) $(CXX) $(LDFLAGS) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(SHARED_OUTDIR)/db/db_bench.o $(TESTUTIL) $(SHARED_OUTDIR)/$(SHARED_LIB3) -o $@ $(LIBS) 391adbe3eb0Scmumford 392adbe3eb0Scmumford.PHONY: run-shared 393adbe3eb0Scmumfordrun-shared: $(SHARED_OUTDIR)/db_bench 394adbe3eb0Scmumford LD_LIBRARY_PATH=$(SHARED_OUTDIR) $(SHARED_OUTDIR)/db_bench 395adbe3eb0Scmumford 396adbe3eb0Scmumford$(SIMULATOR_OUTDIR)/%.o: %.cc 397adbe3eb0Scmumford xcrun -sdk iphonesimulator $(CXX) $(CXXFLAGS) $(SIMULATOR_CFLAGS) -c $< -o $@ 398adbe3eb0Scmumford 399adbe3eb0Scmumford$(DEVICE_OUTDIR)/%.o: %.cc 400adbe3eb0Scmumford xcrun -sdk iphoneos $(CXX) $(CXXFLAGS) $(DEVICE_CFLAGS) -c $< -o $@ 401adbe3eb0Scmumford 402adbe3eb0Scmumford$(SIMULATOR_OUTDIR)/%.o: %.c 403adbe3eb0Scmumford xcrun -sdk iphonesimulator $(CC) $(CFLAGS) $(SIMULATOR_CFLAGS) -c $< -o $@ 404adbe3eb0Scmumford 405adbe3eb0Scmumford$(DEVICE_OUTDIR)/%.o: %.c 406adbe3eb0Scmumford xcrun -sdk iphoneos $(CC) $(CFLAGS) $(DEVICE_CFLAGS) -c $< -o $@ 407adbe3eb0Scmumford 408adbe3eb0Scmumford$(STATIC_OUTDIR)/%.o: %.cc 409bc1ee4d2SSanjay Ghemawat $(CXX) $(CXXFLAGS) -c $< -o $@ 410021ee9c3S[email protected] 411adbe3eb0Scmumford$(STATIC_OUTDIR)/%.o: %.c 412bc1ee4d2SSanjay Ghemawat $(CC) $(CFLAGS) -c $< -o $@ 413adbe3eb0Scmumford 414adbe3eb0Scmumford$(SHARED_OUTDIR)/%.o: %.cc 415adbe3eb0Scmumford $(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) -c $< -o $@ 416adbe3eb0Scmumford 417adbe3eb0Scmumford$(SHARED_OUTDIR)/%.o: %.c 418adbe3eb0Scmumford $(CC) $(CFLAGS) $(PLATFORM_SHARED_CFLAGS) -c $< -o $@ 419ea175e28Scostan 420ea175e28Scostan$(STATIC_OUTDIR)/port/port_posix_sse.o: port/port_posix_sse.cc 421ea175e28Scostan $(CXX) $(CXXFLAGS) $(PLATFORM_SSEFLAGS) -c $< -o $@ 422ea175e28Scostan 423ea175e28Scostan$(SHARED_OUTDIR)/port/port_posix_sse.o: port/port_posix_sse.cc 424ea175e28Scostan $(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(PLATFORM_SSEFLAGS) -c $< -o $@ 425