2
2
# Use of this source code is governed by a BSD-style license that can be
3
3
# found in the LICENSE file. See the AUTHORS file for names of contributors.
4
4
5
+ # Inherit some settings from environment variables, if available
5
6
CXX ?= g++
6
7
CC ?= gcc
8
+ INSTALL_PATH ?= $(CURDIR )
7
9
8
10
# -----------------------------------------------
9
11
# Uncomment exactly one of the lines labelled (A), (B), and (C) below
@@ -19,8 +21,8 @@ $(shell sh ./build_detect_platform)
19
21
# this file is generated by build_detect_platform to set build flags and sources
20
22
include build_config.mk
21
23
22
- CFLAGS += -c - I. -I./include $(PLATFORM_CCFLAGS ) $(OPT )
23
- CXXFLAGS += -c - I. -I./include $(PLATFORM_CXXFLAGS ) $(OPT )
24
+ CFLAGS += -I. -I./include $(PLATFORM_CCFLAGS ) $(OPT )
25
+ CXXFLAGS += -I. -I./include $(PLATFORM_CXXFLAGS ) $(OPT )
24
26
25
27
LDFLAGS += $(PLATFORM_LDFLAGS )
26
28
@@ -55,15 +57,33 @@ BENCHMARKS = db_bench_sqlite3 db_bench_tree_db
55
57
LIBRARY = libleveldb.a
56
58
MEMENVLIBRARY = libmemenv.a
57
59
58
- all : $(LIBRARY )
60
+ default : all
61
+
62
+ # Should we build shared libraries?
63
+ ifneq ($(PLATFORM_SHARED_EXT ) ,)
64
+ # Update db.h if you change these.
65
+ SHARED_MAJOR = 1
66
+ SHARED_MINOR = 3
67
+ SHARED1 = libleveldb.$(PLATFORM_SHARED_EXT )
68
+ SHARED2 = $(SHARED1 ) .$(SHARED_MAJOR )
69
+ SHARED3 = $(SHARED1 ) .$(SHARED_MAJOR ) .$(SHARED_MINOR )
70
+ SHARED = $(SHARED1 ) $(SHARED2 ) $(SHARED3 )
71
+ $(SHARED3 ) :
72
+ $(CXX ) $(LDFLAGS ) $(PLATFORM_SHARED_LDFLAGS )$(INSTALL_PATH ) /$(SHARED2 ) $(CXXFLAGS ) $(PLATFORM_SHARED_CFLAGS ) $(SOURCES ) -o $(SHARED3 )
73
+ $(SHARED2 ) : $(SHARED3 )
74
+ ln -fs $(SHARED3 ) $(SHARED2 )
75
+ $(SHARED1 ) : $(SHARED3 )
76
+ ln -fs $(SHARED3 ) $(SHARED1 )
77
+ endif
78
+
79
+ all : $(SHARED ) $(LIBRARY )
59
80
60
- check : $(PROGRAMS ) $(TESTS )
81
+ check : all $(PROGRAMS ) $(TESTS )
61
82
for t in $( TESTS) ; do echo " ***** Running $$ t" ; ./$$ t || exit 1; done
62
83
63
84
clean :
64
- -rm -f $(PROGRAMS ) $(BENCHMARKS ) $(LIBRARY ) $(MEMENVLIBRARY ) * /* .o * /* /* .o ios-x86/* /* .o ios-arm/* /* .o
85
+ -rm -f $(PROGRAMS ) $(BENCHMARKS ) $(LIBRARY ) $(SHARED ) $( MEMENVLIBRARY ) * /* .o * /* /* .o ios-x86/* /* .o ios-arm/* /* .o build_config.mk
65
86
-rm -rf ios-x86/* ios-arm/*
66
- -rm build_config.mk
67
87
68
88
$(LIBRARY ) : $(LIBOBJECTS )
69
89
rm -f $@
@@ -142,22 +162,22 @@ IOSVERSION=$(shell defaults read /Developer/Platforms/iPhoneOS.platform/version
142
162
143
163
.cc.o :
144
164
mkdir -p ios-x86/$(dir $@ )
145
- $(SIMULATORROOT ) /usr/bin/$(CXX ) $(CXXFLAGS ) -isysroot $(SIMULATORROOT ) /SDKs/iPhoneSimulator$(IOSVERSION ) .sdk -arch i686 $< -o ios-x86/$@
165
+ $(SIMULATORROOT ) /usr/bin/$(CXX ) $(CXXFLAGS ) -isysroot $(SIMULATORROOT ) /SDKs/iPhoneSimulator$(IOSVERSION ) .sdk -arch i686 -c $< -o ios-x86/$@
146
166
mkdir -p ios-arm/$(dir $@ )
147
- $(DEVICEROOT ) /usr/bin/$(CXX ) $(CXXFLAGS ) -isysroot $(DEVICEROOT ) /SDKs/iPhoneOS$(IOSVERSION ) .sdk -arch armv6 -arch armv7 $< -o ios-arm/$@
167
+ $(DEVICEROOT ) /usr/bin/$(CXX ) $(CXXFLAGS ) -isysroot $(DEVICEROOT ) /SDKs/iPhoneOS$(IOSVERSION ) .sdk -arch armv6 -arch armv7 -c $< -o ios-arm/$@
148
168
lipo ios-x86/$@ ios-arm/$@ -create -output $@
149
169
150
170
.c.o :
151
171
mkdir -p ios-x86/$(dir $@ )
152
- $(SIMULATORROOT ) /usr/bin/$(CC ) $(CFLAGS ) -isysroot $(SIMULATORROOT ) /SDKs/iPhoneSimulator$(IOSVERSION ) .sdk -arch i686 $< -o ios-x86/$@
172
+ $(SIMULATORROOT ) /usr/bin/$(CC ) $(CFLAGS ) -isysroot $(SIMULATORROOT ) /SDKs/iPhoneSimulator$(IOSVERSION ) .sdk -arch i686 -c $< -o ios-x86/$@
153
173
mkdir -p ios-arm/$(dir $@ )
154
- $(DEVICEROOT ) /usr/bin/$(CC ) $(CFLAGS ) -isysroot $(DEVICEROOT ) /SDKs/iPhoneOS$(IOSVERSION ) .sdk -arch armv6 -arch armv7 $< -o ios-arm/$@
174
+ $(DEVICEROOT ) /usr/bin/$(CC ) $(CFLAGS ) -isysroot $(DEVICEROOT ) /SDKs/iPhoneOS$(IOSVERSION ) .sdk -arch armv6 -arch armv7 -c $< -o ios-arm/$@
155
175
lipo ios-x86/$@ ios-arm/$@ -create -output $@
156
176
157
177
else
158
178
.cc.o :
159
- $(CXX ) $(CXXFLAGS ) $< -o $@
179
+ $(CXX ) $(CXXFLAGS ) -c $< -o $@
160
180
161
181
.c.o :
162
- $(CC ) $(CFLAGS ) $< -o $@
182
+ $(CC ) $(CFLAGS ) -c $< -o $@
163
183
endif
0 commit comments