OSDN Git Service

Merge "Revert "pixelflinger: make self-contained""
[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     sockets.cpp \
25     transport.cpp \
26     transport_local.cpp \
27     transport_usb.cpp \
28
29 LIBADB_CFLAGS := \
30     -Wall -Werror \
31     -Wno-unused-parameter \
32     -Wno-missing-field-initializers \
33     -fvisibility=hidden \
34
35 LIBADB_darwin_SRC_FILES := \
36     fdevent.cpp \
37     get_my_path_darwin.c \
38     usb_osx.c \
39
40 LIBADB_linux_SRC_FILES := \
41     fdevent.cpp \
42     get_my_path_linux.cpp \
43     usb_linux.cpp \
44
45 LIBADB_windows_SRC_FILES := \
46     get_my_path_windows.cpp \
47     sysdeps_win32.c \
48     usb_windows.cpp \
49
50 include $(CLEAR_VARS)
51 LOCAL_CLANG := $(ADB_CLANG)
52 LOCAL_MODULE := libadbd
53 LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=0
54 LOCAL_SRC_FILES := \
55     $(LIBADB_SRC_FILES) \
56     adb_auth_client.cpp \
57     fdevent.cpp \
58     jdwp_service.cpp \
59     qemu_tracing.cpp \
60     usb_linux_client.c \
61
62 include $(BUILD_STATIC_LIBRARY)
63
64 include $(CLEAR_VARS)
65 LOCAL_CLANG := $(ADB_CLANG)
66 LOCAL_MODULE := libadb
67 LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=1
68 LOCAL_SRC_FILES := \
69     $(LIBADB_SRC_FILES) \
70     $(LIBADB_$(HOST_OS)_SRC_FILES) \
71     adb_auth_host.cpp \
72
73 # Even though we're building a static library (and thus there's no link step for
74 # this to take effect), this adds the SSL includes to our path.
75 LOCAL_STATIC_LIBRARIES := libcrypto_static
76
77 ifeq ($(HOST_OS),windows)
78     LOCAL_C_INCLUDES += development/host/windows/usb/api/
79 endif
80
81 include $(BUILD_HOST_STATIC_LIBRARY)
82
83 LIBADB_TEST_SRCS := \
84     adb_io_test.cpp \
85     transport_test.cpp \
86
87 include $(CLEAR_VARS)
88 LOCAL_CLANG := $(ADB_CLANG)
89 LOCAL_MODULE := adbd_test
90 LOCAL_CFLAGS := -DADB_HOST=0 $(LIBADB_CFLAGS)
91 LOCAL_SRC_FILES := $(LIBADB_TEST_SRCS)
92 LOCAL_STATIC_LIBRARIES := libadbd
93 LOCAL_SHARED_LIBRARIES := liblog libcutils libutils
94 include $(BUILD_NATIVE_TEST)
95
96 include $(CLEAR_VARS)
97 LOCAL_CLANG := $(ADB_CLANG)
98 LOCAL_MODULE := adb_test
99 LOCAL_CFLAGS := -DADB_HOST=1 $(LIBADB_CFLAGS)
100 LOCAL_SRC_FILES := $(LIBADB_TEST_SRCS) services.cpp
101 LOCAL_SHARED_LIBRARIES := liblog
102 LOCAL_STATIC_LIBRARIES := \
103     libadb \
104     libcrypto_static \
105     libcutils \
106     libutils \
107
108 ifeq ($(HOST_OS),linux)
109   LOCAL_LDLIBS += -lrt -ldl -lpthread
110 endif
111
112 include $(BUILD_HOST_NATIVE_TEST)
113
114 # adb host tool
115 # =========================================================
116 include $(CLEAR_VARS)
117
118 ifeq ($(HOST_OS),linux)
119   LOCAL_LDLIBS += -lrt -ldl -lpthread
120   LOCAL_CFLAGS += -DWORKAROUND_BUG6558362
121 endif
122
123 ifeq ($(HOST_OS),darwin)
124   LOCAL_LDLIBS += -lpthread -framework CoreFoundation -framework IOKit -framework Carbon
125   LOCAL_CFLAGS += -Wno-sizeof-pointer-memaccess -Wno-unused-parameter
126 endif
127
128 ifeq ($(HOST_OS),windows)
129   EXTRA_STATIC_LIBS := AdbWinApi
130   ifneq ($(strip $(USE_MINGW)),)
131     # MinGW under Linux case
132     LOCAL_LDLIBS += -lws2_32 -lgdi32
133     USE_SYSDEPS_WIN32 := 1
134   endif
135 endif
136
137 LOCAL_CLANG := $(ADB_CLANG)
138
139 LOCAL_SRC_FILES := \
140     adb_main.cpp \
141     console.cpp \
142     commandline.cpp \
143     adb_client.cpp \
144     services.cpp \
145     file_sync_client.cpp \
146
147 LOCAL_CFLAGS += \
148     -Wall -Werror \
149     -Wno-unused-parameter \
150     -D_GNU_SOURCE \
151     -DADB_HOST=1 \
152
153 LOCAL_MODULE := adb
154 LOCAL_MODULE_TAGS := debug
155
156 LOCAL_STATIC_LIBRARIES := \
157     libadb \
158     libcrypto_static \
159     $(EXTRA_STATIC_LIBS) \
160
161 ifeq ($(USE_SYSDEPS_WIN32),)
162     LOCAL_STATIC_LIBRARIES += libcutils
163 endif
164
165 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
166 include $(BUILD_HOST_EXECUTABLE)
167
168 $(call dist-for-goals,dist_files sdk,$(LOCAL_BUILT_MODULE))
169
170 ifeq ($(HOST_OS),windows)
171 $(LOCAL_INSTALLED_MODULE): \
172     $(HOST_OUT_EXECUTABLES)/AdbWinApi.dll \
173     $(HOST_OUT_EXECUTABLES)/AdbWinUsbApi.dll
174 endif
175
176
177 # adbd device daemon
178 # =========================================================
179
180 include $(CLEAR_VARS)
181
182 LOCAL_CLANG := $(ADB_CLANG)
183
184 LOCAL_SRC_FILES := \
185     adb_main.cpp \
186     services.cpp \
187     file_sync_service.cpp \
188     framebuffer_service.cpp \
189     remount_service.cpp \
190     set_verity_enable_state_service.cpp \
191
192 LOCAL_CFLAGS := \
193     -DADB_HOST=0 \
194     -D_GNU_SOURCE \
195     -Wall -Werror \
196     -Wno-unused-parameter \
197     -Wno-deprecated-declarations \
198
199 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
200 LOCAL_CFLAGS += -DALLOW_ADBD_ROOT=1
201 endif
202
203 ifneq (,$(filter userdebug,$(TARGET_BUILD_VARIANT)))
204 LOCAL_CFLAGS += -DALLOW_ADBD_DISABLE_VERITY=1
205 endif
206
207 LOCAL_MODULE := adbd
208
209 LOCAL_FORCE_STATIC_EXECUTABLE := true
210 LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
211 LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)
212 LOCAL_C_INCLUDES += system/extras/ext4_utils system/core/fs_mgr/include
213
214 LOCAL_STATIC_LIBRARIES := \
215     libadbd \
216     libfs_mgr \
217     liblog \
218     libcutils \
219     libc \
220     libmincrypt \
221     libselinux \
222     libext4_utils_static \
223
224 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
225
226 include $(BUILD_EXECUTABLE)