1 # Copyright 2005 The Android Open Source Project
6 LOCAL_PATH:= $(call my-dir)
8 ifeq ($(HOST_OS),windows)
9 adb_host_clang := false # libc++ for mingw not ready yet.
11 adb_host_clang := true
15 # =========================================================
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
41 -Wno-unused-parameter \
42 -Wno-missing-field-initializers \
45 LIBADB_darwin_SRC_FILES := \
47 get_my_path_darwin.cpp \
50 LIBADB_linux_SRC_FILES := \
52 get_my_path_linux.cpp \
55 LIBADB_windows_SRC_FILES := \
56 get_my_path_windows.cpp \
62 LOCAL_MODULE := libadbd
63 LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=0
70 usb_linux_client.cpp \
72 LOCAL_SHARED_LIBRARIES := libbase
74 include $(BUILD_STATIC_LIBRARY)
77 LOCAL_CLANG := $(adb_host_clang)
78 LOCAL_MODULE := libadb
79 LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=1
82 $(LIBADB_$(HOST_OS)_SRC_FILES) \
85 LOCAL_SHARED_LIBRARIES := libbase
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
91 ifeq ($(HOST_OS),windows)
92 LOCAL_C_INCLUDES += development/host/windows/usb/api/
95 include $(BUILD_HOST_STATIC_LIBRARY)
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)
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 := \
117 ifeq ($(HOST_OS),linux)
118 LOCAL_LDLIBS += -lrt -ldl -lpthread
121 ifeq ($(HOST_OS),darwin)
122 LOCAL_LDLIBS += -framework CoreFoundation -framework IOKit
125 include $(BUILD_HOST_NATIVE_TEST)
128 # =========================================================
129 include $(CLEAR_VARS)
131 ifeq ($(HOST_OS),linux)
132 LOCAL_LDLIBS += -lrt -ldl -lpthread
133 LOCAL_CFLAGS += -DWORKAROUND_BUG6558362
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
141 ifeq ($(HOST_OS),windows)
142 LOCAL_LDLIBS += -lws2_32 -lgdi32
143 EXTRA_STATIC_LIBS := AdbWinApi
146 LOCAL_CLANG := $(adb_host_clang)
154 file_sync_client.cpp \
158 -Wno-unused-parameter \
163 LOCAL_MODULE_TAGS := debug
165 LOCAL_STATIC_LIBRARIES := \
170 $(EXTRA_STATIC_LIBS) \
172 # libc++ not available on windows yet
173 ifneq ($(HOST_OS),windows)
174 LOCAL_CXX_STL := libc++_static
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++
180 LOCAL_SHARED_LIBRARIES :=
182 include $(BUILD_HOST_EXECUTABLE)
184 $(call dist-for-goals,dist_files sdk,$(LOCAL_BUILT_MODULE))
186 ifeq ($(HOST_OS),windows)
187 $(LOCAL_INSTALLED_MODULE): \
188 $(HOST_OUT_EXECUTABLES)/AdbWinApi.dll \
189 $(HOST_OUT_EXECUTABLES)/AdbWinUsbApi.dll
194 # =========================================================
196 include $(CLEAR_VARS)
203 file_sync_service.cpp \
204 framebuffer_service.cpp \
205 remount_service.cpp \
206 set_verity_enable_state_service.cpp \
212 -Wno-unused-parameter \
213 -Wno-deprecated-declarations \
215 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
216 LOCAL_CFLAGS += -DALLOW_ADBD_ROOT=1
219 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
220 LOCAL_CFLAGS += -DALLOW_ADBD_DISABLE_VERITY=1
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
230 LOCAL_STATIC_LIBRARIES := \
239 libext4_utils_static \
241 include $(BUILD_EXECUTABLE)