OSDN Git Service

Merge "Fix more buffer overruns."
[android-x86/system-core.git] / adb / Android.mk
1 # Copyright 2005 The Android Open Source Project
2 #
3 # Android.mk for adb
4 #
5
6 LOCAL_PATH:= $(call my-dir)
7
8 ADB_CLANG :=
9
10 # libadb
11 # =========================================================
12
13 # Much of adb is duplicated in bootable/recovery/minadb and fastboot. Changes
14 # made to adb rarely get ported to the other two, so the trees have diverged a
15 # bit. We'd like to stop this because it is a maintenance nightmare, but the
16 # divergence makes this difficult to do all at once. For now, we will start
17 # small by moving common files into a static library. Hopefully some day we can
18 # get enough of adb in here that we no longer need minadb. https://b/17626262
19 LIBADB_SRC_FILES := \
20     adb.cpp \
21     adb_auth.cpp \
22     adb_io.cpp \
23     adb_listeners.cpp \
24     adb_utils.cpp \
25     sockets.cpp \
26     transport.cpp \
27     transport_local.cpp \
28     transport_usb.cpp \
29
30 LIBADB_CFLAGS := \
31     -Wall -Werror \
32     -Wno-unused-parameter \
33     -Wno-missing-field-initializers \
34     -fvisibility=hidden \
35
36 LIBADB_darwin_SRC_FILES := \
37     fdevent.cpp \
38     get_my_path_darwin.cpp \
39     usb_osx.cpp \
40
41 LIBADB_linux_SRC_FILES := \
42     fdevent.cpp \
43     get_my_path_linux.cpp \
44     usb_linux.cpp \
45
46 LIBADB_windows_SRC_FILES := \
47     get_my_path_windows.cpp \
48     sysdeps_win32.cpp \
49     usb_windows.cpp \
50
51 include $(CLEAR_VARS)
52 LOCAL_CLANG := true
53 LOCAL_MODULE := libadbd
54 LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=0
55 LOCAL_SRC_FILES := \
56     $(LIBADB_SRC_FILES) \
57     adb_auth_client.cpp \
58     fdevent.cpp \
59     jdwp_service.cpp \
60     qemu_tracing.cpp \
61     usb_linux_client.cpp \
62
63 include $(BUILD_STATIC_LIBRARY)
64
65 include $(CLEAR_VARS)
66 LOCAL_CLANG := $(ADB_CLANG)
67 LOCAL_MODULE := libadb
68 LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=1
69 LOCAL_SRC_FILES := \
70     $(LIBADB_SRC_FILES) \
71     $(LIBADB_$(HOST_OS)_SRC_FILES) \
72     adb_auth_host.cpp \
73
74 # Even though we're building a static library (and thus there's no link step for
75 # this to take effect), this adds the SSL includes to our path.
76 LOCAL_STATIC_LIBRARIES := libcrypto_static
77
78 ifeq ($(HOST_OS),windows)
79     LOCAL_C_INCLUDES += development/host/windows/usb/api/
80 endif
81
82 include $(BUILD_HOST_STATIC_LIBRARY)
83
84 LIBADB_TEST_SRCS := \
85     adb_io_test.cpp \
86     adb_utils_test.cpp \
87     transport_test.cpp \
88
89 include $(CLEAR_VARS)
90 LOCAL_CLANG := $(ADB_CLANG)
91 LOCAL_MODULE := adbd_test
92 LOCAL_CFLAGS := -DADB_HOST=0 $(LIBADB_CFLAGS)
93 LOCAL_SRC_FILES := $(LIBADB_TEST_SRCS)
94 LOCAL_STATIC_LIBRARIES := libadbd
95 LOCAL_SHARED_LIBRARIES := liblog libbase libcutils
96 include $(BUILD_NATIVE_TEST)
97
98 include $(CLEAR_VARS)
99 LOCAL_CLANG := $(ADB_CLANG)
100 LOCAL_MODULE := adb_test
101 LOCAL_CFLAGS := -DADB_HOST=1 $(LIBADB_CFLAGS)
102 LOCAL_SRC_FILES := $(LIBADB_TEST_SRCS) services.cpp
103 LOCAL_SHARED_LIBRARIES := liblog libbase
104 LOCAL_STATIC_LIBRARIES := \
105     libadb \
106     libcrypto_static \
107     libcutils \
108
109 ifeq ($(HOST_OS),linux)
110   LOCAL_LDLIBS += -lrt -ldl -lpthread
111 endif
112
113 ifeq ($(HOST_OS),darwin)
114   LOCAL_LDLIBS += -framework CoreFoundation -framework IOKit
115 endif
116
117 include $(BUILD_HOST_NATIVE_TEST)
118
119 # adb host tool
120 # =========================================================
121 include $(CLEAR_VARS)
122
123 ifeq ($(HOST_OS),linux)
124   LOCAL_LDLIBS += -lrt -ldl -lpthread
125   LOCAL_CFLAGS += -DWORKAROUND_BUG6558362
126 endif
127
128 ifeq ($(HOST_OS),darwin)
129   LOCAL_LDLIBS += -lpthread -framework CoreFoundation -framework IOKit -framework Carbon
130   LOCAL_CFLAGS += -Wno-sizeof-pointer-memaccess -Wno-unused-parameter
131 endif
132
133 ifeq ($(HOST_OS),windows)
134   EXTRA_STATIC_LIBS := AdbWinApi
135   ifneq ($(strip $(USE_MINGW)),)
136     # MinGW under Linux case
137     LOCAL_LDLIBS += -lws2_32 -lgdi32
138     USE_SYSDEPS_WIN32 := 1
139   endif
140 endif
141
142 LOCAL_CLANG := $(ADB_CLANG)
143
144 LOCAL_SRC_FILES := \
145     adb_main.cpp \
146     console.cpp \
147     commandline.cpp \
148     adb_client.cpp \
149     services.cpp \
150     file_sync_client.cpp \
151
152 LOCAL_CFLAGS += \
153     -Wall -Werror \
154     -Wno-unused-parameter \
155     -D_GNU_SOURCE \
156     -DADB_HOST=1 \
157
158 LOCAL_MODULE := adb
159 LOCAL_MODULE_TAGS := debug
160
161 LOCAL_STATIC_LIBRARIES := \
162     libadb \
163     libbase \
164     libcrypto_static \
165     $(EXTRA_STATIC_LIBS) \
166
167 ifeq ($(USE_SYSDEPS_WIN32),)
168     LOCAL_STATIC_LIBRARIES += libcutils
169 endif
170
171 include $(BUILD_HOST_EXECUTABLE)
172
173 $(call dist-for-goals,dist_files sdk,$(LOCAL_BUILT_MODULE))
174
175 ifeq ($(HOST_OS),windows)
176 $(LOCAL_INSTALLED_MODULE): \
177     $(HOST_OUT_EXECUTABLES)/AdbWinApi.dll \
178     $(HOST_OUT_EXECUTABLES)/AdbWinUsbApi.dll
179 endif
180
181
182 # adbd device daemon
183 # =========================================================
184
185 include $(CLEAR_VARS)
186
187 LOCAL_CLANG := $(ADB_CLANG)
188
189 LOCAL_SRC_FILES := \
190     adb_main.cpp \
191     services.cpp \
192     file_sync_service.cpp \
193     framebuffer_service.cpp \
194     remount_service.cpp \
195     set_verity_enable_state_service.cpp \
196
197 LOCAL_CFLAGS := \
198     -DADB_HOST=0 \
199     -D_GNU_SOURCE \
200     -Wall -Werror \
201     -Wno-unused-parameter \
202     -Wno-deprecated-declarations \
203
204 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
205 LOCAL_CFLAGS += -DALLOW_ADBD_ROOT=1
206 endif
207
208 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
209 LOCAL_CFLAGS += -DALLOW_ADBD_DISABLE_VERITY=1
210 endif
211
212 LOCAL_MODULE := adbd
213
214 LOCAL_FORCE_STATIC_EXECUTABLE := true
215 LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
216 LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)
217 LOCAL_C_INCLUDES += system/extras/ext4_utils
218
219 LOCAL_STATIC_LIBRARIES := \
220     libadbd \
221     libbase \
222     libfs_mgr \
223     liblog \
224     libcutils \
225     libc \
226     libmincrypt \
227     libselinux \
228     libext4_utils_static \
229
230 include $(BUILD_EXECUTABLE)