OSDN Git Service

Merge "Fix the Windows adb build."
[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 include $(BUILD_STATIC_LIBRARY)
73
74 include $(CLEAR_VARS)
75 LOCAL_CLANG := $(adb_host_clang)
76 LOCAL_MODULE := libadb
77 LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=1
78 LOCAL_SRC_FILES := \
79     $(LIBADB_SRC_FILES) \
80     $(LIBADB_$(HOST_OS)_SRC_FILES) \
81     adb_auth_host.cpp \
82
83 # Even though we're building a static library (and thus there's no link step for
84 # this to take effect), this adds the SSL includes to our path.
85 LOCAL_STATIC_LIBRARIES := libcrypto_static
86
87 ifeq ($(HOST_OS),windows)
88     LOCAL_C_INCLUDES += development/host/windows/usb/api/
89 endif
90
91 include $(BUILD_HOST_STATIC_LIBRARY)
92
93 include $(CLEAR_VARS)
94 LOCAL_CLANG := true
95 LOCAL_MODULE := adbd_test
96 LOCAL_CFLAGS := -DADB_HOST=0 $(LIBADB_CFLAGS)
97 LOCAL_SRC_FILES := $(LIBADB_TEST_SRCS)
98 LOCAL_STATIC_LIBRARIES := libadbd
99 LOCAL_SHARED_LIBRARIES := liblog libbase libcutils
100 include $(BUILD_NATIVE_TEST)
101
102 include $(CLEAR_VARS)
103 LOCAL_CLANG := $(adb_host_clang)
104 LOCAL_MODULE := adb_test
105 LOCAL_CFLAGS := -DADB_HOST=1 $(LIBADB_CFLAGS)
106 LOCAL_SRC_FILES := $(LIBADB_TEST_SRCS) services.cpp
107 LOCAL_SHARED_LIBRARIES := liblog libbase
108 LOCAL_STATIC_LIBRARIES := \
109     libadb \
110     libcrypto_static \
111     libcutils \
112
113 ifeq ($(HOST_OS),linux)
114   LOCAL_LDLIBS += -lrt -ldl -lpthread
115 endif
116
117 ifeq ($(HOST_OS),darwin)
118   LOCAL_LDLIBS += -framework CoreFoundation -framework IOKit
119 endif
120
121 include $(BUILD_HOST_NATIVE_TEST)
122
123 # adb host tool
124 # =========================================================
125 include $(CLEAR_VARS)
126
127 ifeq ($(HOST_OS),linux)
128   LOCAL_LDLIBS += -lrt -ldl -lpthread
129   LOCAL_CFLAGS += -DWORKAROUND_BUG6558362
130 endif
131
132 ifeq ($(HOST_OS),darwin)
133   LOCAL_LDLIBS += -lpthread -framework CoreFoundation -framework IOKit -framework Carbon
134   LOCAL_CFLAGS += -Wno-sizeof-pointer-memaccess -Wno-unused-parameter
135 endif
136
137 ifeq ($(HOST_OS),windows)
138   LOCAL_LDLIBS += -lws2_32 -lgdi32
139   EXTRA_STATIC_LIBS := AdbWinApi
140 endif
141
142 LOCAL_CLANG := $(adb_host_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     libcutils \
166     $(EXTRA_STATIC_LIBS) \
167
168 include $(BUILD_HOST_EXECUTABLE)
169
170 $(call dist-for-goals,dist_files sdk,$(LOCAL_BUILT_MODULE))
171
172 ifeq ($(HOST_OS),windows)
173 $(LOCAL_INSTALLED_MODULE): \
174     $(HOST_OUT_EXECUTABLES)/AdbWinApi.dll \
175     $(HOST_OUT_EXECUTABLES)/AdbWinUsbApi.dll
176 endif
177
178
179 # adbd device daemon
180 # =========================================================
181
182 include $(CLEAR_VARS)
183
184 LOCAL_CLANG := true
185
186 LOCAL_SRC_FILES := \
187     adb_main.cpp \
188     services.cpp \
189     file_sync_service.cpp \
190     framebuffer_service.cpp \
191     remount_service.cpp \
192     set_verity_enable_state_service.cpp \
193
194 LOCAL_CFLAGS := \
195     -DADB_HOST=0 \
196     -D_GNU_SOURCE \
197     -Wall -Werror \
198     -Wno-unused-parameter \
199     -Wno-deprecated-declarations \
200
201 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
202 LOCAL_CFLAGS += -DALLOW_ADBD_ROOT=1
203 endif
204
205 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
206 LOCAL_CFLAGS += -DALLOW_ADBD_DISABLE_VERITY=1
207 endif
208
209 LOCAL_MODULE := adbd
210
211 LOCAL_FORCE_STATIC_EXECUTABLE := true
212 LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
213 LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)
214 LOCAL_C_INCLUDES += system/extras/ext4_utils
215
216 LOCAL_STATIC_LIBRARIES := \
217     libadbd \
218     libbase \
219     libfs_mgr \
220     liblog \
221     libcutils \
222     libc \
223     libmincrypt \
224     libselinux \
225     libext4_utils_static \
226
227 include $(BUILD_EXECUTABLE)