OSDN Git Service

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