1dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# Copyright 2005 The Android Open Source Project 2dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# 3dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# Android.mk for adb 4dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# 5dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 6dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_PATH:= $(call my-dir) 7dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 89113b47eacb955ec83fe8ecce67f7905b2c395beDan Albertadb_host_sanitize := 99113b47eacb955ec83fe8ecce67f7905b2c395beDan Albertadb_target_sanitize := 109113b47eacb955ec83fe8ecce67f7905b2c395beDan Albert 111ba1d7c1ee644967ff4743b0d257290cbeca7a83Dan Albertadb_version := $(shell git -C $(LOCAL_PATH) rev-parse --short=12 HEAD 2>/dev/null)-android 121ba1d7c1ee644967ff4743b0d257290cbeca7a83Dan Albert 131ba1d7c1ee644967ff4743b0d257290cbeca7a83Dan AlbertADB_COMMON_CFLAGS := \ 1423fee8fcf59880545e5fbc2cf12df77f2be3280cDan Albert -Wall -Wextra -Werror \ 15459df8f3a14d4c614f0211049800cf7cad6d30adDan Albert -Wno-unused-parameter \ 16286bb6ddbd52584af0c6c76fbe0498f3dea4b944Dan Albert -Wno-missing-field-initializers \ 176d92997ec4285caebe94064158a8cc017bbf5caaElliott Hughes -Wvla \ 181ba1d7c1ee644967ff4743b0d257290cbeca7a83Dan Albert -DADB_REVISION='"$(adb_version)"' \ 191ba1d7c1ee644967ff4743b0d257290cbeca7a83Dan Albert 20b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh GaoADB_COMMON_linux_CFLAGS := \ 21b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao -Wexit-time-destructors \ 22b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao 23b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh GaoADB_COMMON_darwin_CFLAGS := \ 24b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao -Wexit-time-destructors \ 25b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao 26e347c1dd475ab83b2ec483f43879b105be145ea2Spencer Low# Define windows.h and tchar.h Unicode preprocessor symbols so that 27e347c1dd475ab83b2ec483f43879b105be145ea2Spencer Low# CreateFile(), _tfopen(), etc. map to versions that take wchar_t*, breaking the 28e347c1dd475ab83b2ec483f43879b105be145ea2Spencer Low# build if you accidentally pass char*. Fix by calling like: 29d21dc825bbecad6ce480c5e5c574cc77eadcd779Spencer Low# std::wstring path_wide; 30d21dc825bbecad6ce480c5e5c574cc77eadcd779Spencer Low# if (!android::base::UTF8ToWide(path_utf8, &path_wide)) { /* error handling */ } 31d21dc825bbecad6ce480c5e5c574cc77eadcd779Spencer Low# CreateFileW(path_wide.c_str()); 32e347c1dd475ab83b2ec483f43879b105be145ea2Spencer LowADB_COMMON_windows_CFLAGS := \ 33e347c1dd475ab83b2ec483f43879b105be145ea2Spencer Low -DUNICODE=1 -D_UNICODE=1 \ 34e347c1dd475ab83b2ec483f43879b105be145ea2Spencer Low 35630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert# libadb 36630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert# ========================================================= 37630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert 38630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert# Much of adb is duplicated in bootable/recovery/minadb and fastboot. Changes 39630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert# made to adb rarely get ported to the other two, so the trees have diverged a 40630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert# bit. We'd like to stop this because it is a maintenance nightmare, but the 41630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert# divergence makes this difficult to do all at once. For now, we will start 42630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert# small by moving common files into a static library. Hopefully some day we can 43630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert# get enough of adb in here that we no longer need minadb. https://b/17626262 44ba3a251749c88210949008ae26f8bc04812084c1Dan AlbertLIBADB_SRC_FILES := \ 45bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert adb.cpp \ 46cc731cc76786b6bdc58764aad9924c0d0c8d645fDan Albert adb_io.cpp \ 47bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert adb_listeners.cpp \ 48aed3c61c4437ebb05eadfb3bf85d6962c30b9935Yabin Cui adb_trace.cpp \ 495830577bd82fdb7c39555da20a4cf585b8bb376aElliott Hughes adb_utils.cpp \ 503777d2ecc05d397ca501f4ee296e4e66568bb1bdJosh Gao fdevent.cpp \ 51bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert sockets.cpp \ 52cfb21412e5e3a716fc45601f35d3b58ce5f78f46Josh Gao socket_spec.cpp \ 535a1e3fdaf82aee348b1b22992a8c1d15db38413bJosh Gao sysdeps/errno.cpp \ 54bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert transport.cpp \ 55bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert transport_local.cpp \ 56bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert transport_usb.cpp \ 57ba3a251749c88210949008ae26f8bc04812084c1Dan Albert 5853daee6a2b415caa0ff3e425c7fa613c834bca61Elliott HughesLIBADB_TEST_SRCS := \ 5953daee6a2b415caa0ff3e425c7fa613c834bca61Elliott Hughes adb_io_test.cpp \ 60eaae97e127717750b4264d9b6617b845f9bc701fDavid Pursell adb_listeners_test.cpp \ 6153daee6a2b415caa0ff3e425c7fa613c834bca61Elliott Hughes adb_utils_test.cpp \ 62022d447e9efcff59e22f0ab13764282116f235ddJosh Gao fdevent_test.cpp \ 631099215e30c3b09dfa390c638a45487c43b2b1e1Josh Gao socket_spec_test.cpp \ 64022d447e9efcff59e22f0ab13764282116f235ddJosh Gao socket_test.cpp \ 653b3e10d0465506abc7d9e07c0381396b3726f183Josh Gao sysdeps_test.cpp \ 66f551ea0f6309465eeab70404076bd881320f4883Josh Gao sysdeps/stat_test.cpp \ 6753daee6a2b415caa0ff3e425c7fa613c834bca61Elliott Hughes transport_test.cpp \ 6853daee6a2b415caa0ff3e425c7fa613c834bca61Elliott Hughes 69bf10647b61704a8dbe01b7381ebed5aefaa074e0Dan AlbertLIBADB_CFLAGS := \ 701ba1d7c1ee644967ff4743b0d257290cbeca7a83Dan Albert $(ADB_COMMON_CFLAGS) \ 71ba3a251749c88210949008ae26f8bc04812084c1Dan Albert -fvisibility=hidden \ 724f1d7b55d73e24c453720277e8dc5dca54f65eb8Elliott Hughes 734f1d7b55d73e24c453720277e8dc5dca54f65eb8Elliott HughesLIBADB_linux_CFLAGS := \ 74b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao $(ADB_COMMON_linux_CFLAGS) \ 75b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao 76b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh GaoLIBADB_darwin_CFLAGS := \ 77b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao $(ADB_COMMON_darwin_CFLAGS) \ 78630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert 7987a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLIBADB_windows_CFLAGS := \ 8087a419c8b1343c9025fe2593206a6e95b0aa9700Dan Willemsen $(ADB_COMMON_windows_CFLAGS) \ 814f1d7b55d73e24c453720277e8dc5dca54f65eb8Elliott Hughes 82bac3474a8256cb32a29e8d46f78cad95a5502692Dan AlbertLIBADB_darwin_SRC_FILES := \ 83bfd9503d1dfc652d0497fa1a5994b3d73e296898David Pursell sysdeps_unix.cpp \ 841c70e1bcbcced190b351d4fb418f32b4e428f496Josh Gao client/usb_dispatch.cpp \ 851c70e1bcbcced190b351d4fb418f32b4e428f496Josh Gao client/usb_libusb.cpp \ 86456e1ad42034316cee5a6467c4bcb23643b51e5aJosh Gao client/usb_osx.cpp \ 87bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert 88bac3474a8256cb32a29e8d46f78cad95a5502692Dan AlbertLIBADB_linux_SRC_FILES := \ 89bfd9503d1dfc652d0497fa1a5994b3d73e296898David Pursell sysdeps_unix.cpp \ 901c70e1bcbcced190b351d4fb418f32b4e428f496Josh Gao client/usb_dispatch.cpp \ 911c70e1bcbcced190b351d4fb418f32b4e428f496Josh Gao client/usb_libusb.cpp \ 92456e1ad42034316cee5a6467c4bcb23643b51e5aJosh Gao client/usb_linux.cpp \ 93bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert 94bac3474a8256cb32a29e8d46f78cad95a5502692Dan AlbertLIBADB_windows_SRC_FILES := \ 95a2f2e56796fef024c7374d033bd7d34af71fdf5aElliott Hughes sysdeps_win32.cpp \ 96a3577e1ac558d83428c492e806549e278e5dc8fbJosh Gao sysdeps/win32/errno.cpp \ 97f551ea0f6309465eeab70404076bd881320f4883Josh Gao sysdeps/win32/stat.cpp \ 98456e1ad42034316cee5a6467c4bcb23643b51e5aJosh Gao client/usb_windows.cpp \ 999449376328daa7c726ec693637fcdf1d3985640aDan Albert 100e6ae5735713f172eff39f9b8bc75b478b50aee7fSpencer LowLIBADB_TEST_windows_SRCS := \ 101a3577e1ac558d83428c492e806549e278e5dc8fbJosh Gao sysdeps/win32/errno_test.cpp \ 102e6ae5735713f172eff39f9b8bc75b478b50aee7fSpencer Low sysdeps_win32_test.cpp \ 103e6ae5735713f172eff39f9b8bc75b478b50aee7fSpencer Low 104630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albertinclude $(CLEAR_VARS) 1052acec9153e40a558671ec0544bdd89d5a7fabf08Elliott HughesLOCAL_CLANG := true 10644c688ca19a570b4d73f92f34d410e62ef491f0aJosh GaoLOCAL_MODULE := libadbd_usb 10744c688ca19a570b4d73f92f34d410e62ef491f0aJosh GaoLOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=0 10844c688ca19a570b4d73f92f34d410e62ef491f0aJosh GaoLOCAL_SRC_FILES := daemon/usb.cpp 10944c688ca19a570b4d73f92f34d410e62ef491f0aJosh Gao 11044c688ca19a570b4d73f92f34d410e62ef491f0aJosh GaoLOCAL_SANITIZE := $(adb_target_sanitize) 11144c688ca19a570b4d73f92f34d410e62ef491f0aJosh Gao 11244c688ca19a570b4d73f92f34d410e62ef491f0aJosh Gao# Even though we're building a static library (and thus there's no link step for 11344c688ca19a570b4d73f92f34d410e62ef491f0aJosh Gao# this to take effect), this adds the includes to our path. 11444c688ca19a570b4d73f92f34d410e62ef491f0aJosh GaoLOCAL_STATIC_LIBRARIES := libcrypto_utils libcrypto libbase 11544c688ca19a570b4d73f92f34d410e62ef491f0aJosh Gao 11644c688ca19a570b4d73f92f34d410e62ef491f0aJosh Gaoinclude $(BUILD_STATIC_LIBRARY) 11744c688ca19a570b4d73f92f34d410e62ef491f0aJosh Gao 11844c688ca19a570b4d73f92f34d410e62ef491f0aJosh Gaoinclude $(CLEAR_VARS) 11944c688ca19a570b4d73f92f34d410e62ef491f0aJosh GaoLOCAL_CLANG := true 1209449376328daa7c726ec693637fcdf1d3985640aDan AlbertLOCAL_MODULE := libadbd 121630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan AlbertLOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=0 12221c3eaf4cc46aa835531b0cf1e0ca177046a14edDan AlbertLOCAL_SRC_FILES := \ 12321c3eaf4cc46aa835531b0cf1e0ca177046a14edDan Albert $(LIBADB_SRC_FILES) \ 1243bd2879d8e9bb0c0a1b8045e09f9cf87c2daeef3Josh Gao adbd_auth.cpp \ 125bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert jdwp_service.cpp \ 12621c3eaf4cc46aa835531b0cf1e0ca177046a14edDan Albert 1279113b47eacb955ec83fe8ecce67f7905b2c395beDan AlbertLOCAL_SANITIZE := $(adb_target_sanitize) 1287b506090e1ac51f4990f17621c6e33847b0632a2Elliott Hughes 129e246219d0c9897b1c08204d6c535d5d341c4e7eeDan Albert# Even though we're building a static library (and thus there's no link step for 130e246219d0c9897b1c08204d6c535d5d341c4e7eeDan Albert# this to take effect), this adds the includes to our path. 13147763c3a09e8581338c307c5a5de4ae359c3b6e7Josh GaoLOCAL_STATIC_LIBRARIES := libcrypto_utils libcrypto libbase 132e246219d0c9897b1c08204d6c535d5d341c4e7eeDan Albert 13344c688ca19a570b4d73f92f34d410e62ef491f0aJosh GaoLOCAL_WHOLE_STATIC_LIBRARIES := libadbd_usb 13444c688ca19a570b4d73f92f34d410e62ef491f0aJosh Gao 1359449376328daa7c726ec693637fcdf1d3985640aDan Albertinclude $(BUILD_STATIC_LIBRARY) 1369449376328daa7c726ec693637fcdf1d3985640aDan Albert 1379449376328daa7c726ec693637fcdf1d3985640aDan Albertinclude $(CLEAR_VARS) 1389449376328daa7c726ec693637fcdf1d3985640aDan AlbertLOCAL_MODULE := libadb 13987a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_MODULE_HOST_OS := darwin linux windows 1409449376328daa7c726ec693637fcdf1d3985640aDan AlbertLOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=1 14187a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_CFLAGS_windows := $(LIBADB_windows_CFLAGS) 14287a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_CFLAGS_linux := $(LIBADB_linux_CFLAGS) 143b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh GaoLOCAL_CFLAGS_darwin := $(LIBADB_darwin_CFLAGS) 144e1ca623faa278a264981b088fb608b2a62727ab1Dan AlbertLOCAL_SRC_FILES := \ 145e1ca623faa278a264981b088fb608b2a62727ab1Dan Albert $(LIBADB_SRC_FILES) \ 1462fe9b6047536e1dbb3e6253bd6c2b3400d6f5903Casey Dahlin adb_auth_host.cpp \ 1472fe9b6047536e1dbb3e6253bd6c2b3400d6f5903Casey Dahlin transport_mdns.cpp \ 148e1ca623faa278a264981b088fb608b2a62727ab1Dan Albert 14987a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_SRC_FILES_darwin := $(LIBADB_darwin_SRC_FILES) 15087a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_SRC_FILES_linux := $(LIBADB_linux_SRC_FILES) 15187a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_SRC_FILES_windows := $(LIBADB_windows_SRC_FILES) 15287a419c8b1343c9025fe2593206a6e95b0aa9700Dan Willemsen 1539113b47eacb955ec83fe8ecce67f7905b2c395beDan AlbertLOCAL_SANITIZE := $(adb_host_sanitize) 1547b506090e1ac51f4990f17621c6e33847b0632a2Elliott Hughes 155e1ca623faa278a264981b088fb608b2a62727ab1Dan Albert# Even though we're building a static library (and thus there's no link step for 156e246219d0c9897b1c08204d6c535d5d341c4e7eeDan Albert# this to take effect), this adds the includes to our path. 1572fe9b6047536e1dbb3e6253bd6c2b3400d6f5903Casey DahlinLOCAL_STATIC_LIBRARIES := libcrypto_utils libcrypto libbase libmdnssd 1582fe9b6047536e1dbb3e6253bd6c2b3400d6f5903Casey DahlinLOCAL_STATIC_LIBRARIES_linux := libusb 1591c70e1bcbcced190b351d4fb418f32b4e428f496Josh GaoLOCAL_STATIC_LIBRARIES_darwin := libusb 160630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert 16187a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_C_INCLUDES_windows := development/host/windows/usb/api/ 16266680c506ab67802626112e96a5ccef3ef7565c1Dan WillemsenLOCAL_MULTILIB := first 16388cf1c8c4ac986b89d90eed798f51fa007787db0Dan Albert 164630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albertinclude $(BUILD_HOST_STATIC_LIBRARY) 165630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert 166055f1aa4ff58ba71133d506b202ad46612758dedDan Albertinclude $(CLEAR_VARS) 16753daee6a2b415caa0ff3e425c7fa613c834bca61Elliott HughesLOCAL_CLANG := true 168055f1aa4ff58ba71133d506b202ad46612758dedDan AlbertLOCAL_MODULE := adbd_test 169055f1aa4ff58ba71133d506b202ad46612758dedDan AlbertLOCAL_CFLAGS := -DADB_HOST=0 $(LIBADB_CFLAGS) 170bec02fc43d917a4da817d4a02826f110ce340243Yabin CuiLOCAL_SRC_FILES := \ 171bec02fc43d917a4da817d4a02826f110ce340243Yabin Cui $(LIBADB_TEST_SRCS) \ 172bec02fc43d917a4da817d4a02826f110ce340243Yabin Cui $(LIBADB_TEST_linux_SRCS) \ 1730955c66b226db7a7f34613f834f7b0a145fd407dDavid Pursell shell_service.cpp \ 174b9e2e84e7e3cc5c9f30d63ef7d1337363437d2c7David Pursell shell_service_protocol.cpp \ 175b9e2e84e7e3cc5c9f30d63ef7d1337363437d2c7David Pursell shell_service_protocol_test.cpp \ 1760955c66b226db7a7f34613f834f7b0a145fd407dDavid Pursell shell_service_test.cpp \ 177bec02fc43d917a4da817d4a02826f110ce340243Yabin Cui 1789113b47eacb955ec83fe8ecce67f7905b2c395beDan AlbertLOCAL_SANITIZE := $(adb_target_sanitize) 1792fe9b6047536e1dbb3e6253bd6c2b3400d6f5903Casey DahlinLOCAL_STATIC_LIBRARIES := libadbd libcrypto_utils libcrypto libusb libmdnssd 18001f21da7329ed88bff94e82bab1a889e9244cad9Dimitry IvanovLOCAL_SHARED_LIBRARIES := liblog libbase libcutils 181055f1aa4ff58ba71133d506b202ad46612758dedDan Albertinclude $(BUILD_NATIVE_TEST) 182055f1aa4ff58ba71133d506b202ad46612758dedDan Albert 1831b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott Hughes# libdiagnose_usb 1841b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott Hughes# ========================================================= 1851b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott Hughes 1861b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott Hughesinclude $(CLEAR_VARS) 1871b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott HughesLOCAL_MODULE := libdiagnose_usb 1881b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott HughesLOCAL_MODULE_HOST_OS := darwin linux windows 1891b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott HughesLOCAL_CFLAGS := $(LIBADB_CFLAGS) 1901b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott HughesLOCAL_SRC_FILES := diagnose_usb.cpp 1911b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott Hughes# Even though we're building a static library (and thus there's no link step for 1921b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott Hughes# this to take effect), this adds the includes to our path. 1931b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott HughesLOCAL_STATIC_LIBRARIES := libbase 1941b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott Hughesinclude $(BUILD_HOST_STATIC_LIBRARY) 1951b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott Hughes 196cf168a82e99e97e3ad95e37b7065f6b8e7f7390bSpencer Low# adb_test 197cf168a82e99e97e3ad95e37b7065f6b8e7f7390bSpencer Low# ========================================================= 198cf168a82e99e97e3ad95e37b7065f6b8e7f7390bSpencer Low 199055f1aa4ff58ba71133d506b202ad46612758dedDan Albertinclude $(CLEAR_VARS) 200055f1aa4ff58ba71133d506b202ad46612758dedDan AlbertLOCAL_MODULE := adb_test 201ebf770fd735f843936b79df333f70319bade1cb7Spencer LowLOCAL_MODULE_HOST_OS := darwin linux windows 202055f1aa4ff58ba71133d506b202ad46612758dedDan AlbertLOCAL_CFLAGS := -DADB_HOST=1 $(LIBADB_CFLAGS) 20387a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_CFLAGS_windows := $(LIBADB_windows_CFLAGS) 20487a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_CFLAGS_linux := $(LIBADB_linux_CFLAGS) 205b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh GaoLOCAL_CFLAGS_darwin := $(LIBADB_darwin_CFLAGS) 206b9e2e84e7e3cc5c9f30d63ef7d1337363437d2c7David PursellLOCAL_SRC_FILES := \ 207b9e2e84e7e3cc5c9f30d63ef7d1337363437d2c7David Pursell $(LIBADB_TEST_SRCS) \ 208698e065e14840541f218a80241fa880703a7dbc5Felipe Leme adb_client.cpp \ 209698e065e14840541f218a80241fa880703a7dbc5Felipe Leme bugreport.cpp \ 210698e065e14840541f218a80241fa880703a7dbc5Felipe Leme bugreport_test.cpp \ 2116f5080faa5c95ba7fc9d4c73eaecf4684a79d00cFelipe Leme line_printer.cpp \ 212b9e2e84e7e3cc5c9f30d63ef7d1337363437d2c7David Pursell services.cpp \ 213b9e2e84e7e3cc5c9f30d63ef7d1337363437d2c7David Pursell shell_service_protocol.cpp \ 214b9e2e84e7e3cc5c9f30d63ef7d1337363437d2c7David Pursell shell_service_protocol_test.cpp \ 215b9e2e84e7e3cc5c9f30d63ef7d1337363437d2c7David Pursell 216b404dec85ab07043c0a1933671aa76a159d797acDavid PursellLOCAL_SRC_FILES_linux := $(LIBADB_TEST_linux_SRCS) 21787a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_SRC_FILES_darwin := $(LIBADB_TEST_darwin_SRCS) 218e6ae5735713f172eff39f9b8bc75b478b50aee7fSpencer LowLOCAL_SRC_FILES_windows := $(LIBADB_TEST_windows_SRCS) 2199113b47eacb955ec83fe8ecce67f7905b2c395beDan AlbertLOCAL_SANITIZE := $(adb_host_sanitize) 2203d4d973e82388b113553a60336c4e47aa53453f5Josh GaoLOCAL_SHARED_LIBRARIES := libbase 221055f1aa4ff58ba71133d506b202ad46612758dedDan AlbertLOCAL_STATIC_LIBRARIES := \ 222055f1aa4ff58ba71133d506b202ad46612758dedDan Albert libadb \ 22347763c3a09e8581338c307c5a5de4ae359c3b6e7Josh Gao libcrypto_utils \ 22447763c3a09e8581338c307c5a5de4ae359c3b6e7Josh Gao libcrypto \ 225055f1aa4ff58ba71133d506b202ad46612758dedDan Albert libcutils \ 2261b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott Hughes libdiagnose_usb \ 2272fe9b6047536e1dbb3e6253bd6c2b3400d6f5903Casey Dahlin libmdnssd \ 228d6c8091e9f5cc31e6face99253c3805d9cc7058bCasey Dahlin libgmock_host 229055f1aa4ff58ba71133d506b202ad46612758dedDan Albert 2302fe9b6047536e1dbb3e6253bd6c2b3400d6f5903Casey DahlinLOCAL_STATIC_LIBRARIES_linux := libusb 2311c70e1bcbcced190b351d4fb418f32b4e428f496Josh GaoLOCAL_STATIC_LIBRARIES_darwin := libusb 2321c70e1bcbcced190b351d4fb418f32b4e428f496Josh Gao 233e6ae5735713f172eff39f9b8bc75b478b50aee7fSpencer Low# Set entrypoint to wmain from sysdeps_win32.cpp instead of main 234e6ae5735713f172eff39f9b8bc75b478b50aee7fSpencer LowLOCAL_LDFLAGS_windows := -municode 23587a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_LDLIBS_linux := -lrt -ldl -lpthread 2361c70e1bcbcced190b351d4fb418f32b4e428f496Josh GaoLOCAL_LDLIBS_darwin := -framework CoreFoundation -framework IOKit -lobjc 2373d4d973e82388b113553a60336c4e47aa53453f5Josh GaoLOCAL_LDLIBS_windows := -lws2_32 -luserenv 23887a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_STATIC_LIBRARIES_windows := AdbWinApi 239055f1aa4ff58ba71133d506b202ad46612758dedDan Albert 2401e20e0aa1d5bef60377376195abd244ceae81c7cDan WillemsenLOCAL_MULTILIB := first 2411e20e0aa1d5bef60377376195abd244ceae81c7cDan Willemsen 242cf168a82e99e97e3ad95e37b7065f6b8e7f7390bSpencer Lowinclude $(BUILD_HOST_NATIVE_TEST) 243cf168a82e99e97e3ad95e37b7065f6b8e7f7390bSpencer Low 244dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# adb host tool 245dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# ========================================================= 246dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(CLEAR_VARS) 247dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 24887a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_LDLIBS_linux := -lrt -ldl -lpthread 249dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 2501c70e1bcbcced190b351d4fb418f32b4e428f496Josh GaoLOCAL_LDLIBS_darwin := -lpthread -framework CoreFoundation -framework IOKit -framework Carbon -lobjc 251dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 25287a419c8b1343c9025fe2593206a6e95b0aa9700Dan Willemsen# Use wmain instead of main 25387a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_LDFLAGS_windows := -municode 2543d4d973e82388b113553a60336c4e47aa53453f5Josh GaoLOCAL_LDLIBS_windows := -lws2_32 -lgdi32 25587a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_STATIC_LIBRARIES_windows := AdbWinApi 25687a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_REQUIRED_MODULES_windows := AdbWinApi AdbWinUsbApi 2579697ce520d47500a72c95bb7f688ff2f273c9070Dan Albert 258dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_SRC_FILES := \ 259b708d1628332ea9266d08f0297cd9e9ee341a64fElliott Hughes adb_client.cpp \ 260698e065e14840541f218a80241fa880703a7dbc5Felipe Leme bugreport.cpp \ 261c89e0ccd40624e8b2ce30d425e8bed0264fae548Dan Albert client/main.cpp \ 262bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert console.cpp \ 263bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert commandline.cpp \ 264bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert file_sync_client.cpp \ 265b708d1628332ea9266d08f0297cd9e9ee341a64fElliott Hughes line_printer.cpp \ 266b708d1628332ea9266d08f0297cd9e9ee341a64fElliott Hughes services.cpp \ 267b9e2e84e7e3cc5c9f30d63ef7d1337363437d2c7David Pursell shell_service_protocol.cpp \ 268dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 2697fd821e907c4ee25ea4bdf7643c38bd679efdacaDan AlbertLOCAL_CFLAGS += \ 2701ba1d7c1ee644967ff4743b0d257290cbeca7a83Dan Albert $(ADB_COMMON_CFLAGS) \ 2717fd821e907c4ee25ea4bdf7643c38bd679efdacaDan Albert -D_GNU_SOURCE \ 2727fd821e907c4ee25ea4bdf7643c38bd679efdacaDan Albert -DADB_HOST=1 \ 2737fd821e907c4ee25ea4bdf7643c38bd679efdacaDan Albert 27487a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_CFLAGS_windows := \ 27587a419c8b1343c9025fe2593206a6e95b0aa9700Dan Willemsen $(ADB_COMMON_windows_CFLAGS) 27687a419c8b1343c9025fe2593206a6e95b0aa9700Dan Willemsen 277b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh GaoLOCAL_CFLAGS_linux := \ 278b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao $(ADB_COMMON_linux_CFLAGS) \ 279b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao 280b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh GaoLOCAL_CFLAGS_darwin := \ 281b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao $(ADB_COMMON_darwin_CFLAGS) \ 282b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao -Wno-sizeof-pointer-memaccess -Wno-unused-parameter \ 283b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao 284dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_MODULE := adb 285d5d6d97defa8999784a15003ed41449954bc7178Kenny RootLOCAL_MODULE_TAGS := debug 28687a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_MODULE_HOST_OS := darwin linux windows 287dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 2889113b47eacb955ec83fe8ecce67f7905b2c395beDan AlbertLOCAL_SANITIZE := $(adb_host_sanitize) 289630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan AlbertLOCAL_STATIC_LIBRARIES := \ 290630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert libadb \ 2912baae3a876ada7e22986e92188f7933cae34ce3bElliott Hughes libbase \ 29247763c3a09e8581338c307c5a5de4ae359c3b6e7Josh Gao libcrypto_utils \ 29347763c3a09e8581338c307c5a5de4ae359c3b6e7Josh Gao libcrypto \ 2941b708d368f29e6053064c9cf6949ab6ebdbb7ac5Elliott Hughes libdiagnose_usb \ 2952fe9b6047536e1dbb3e6253bd6c2b3400d6f5903Casey Dahlin liblog \ 2962fe9b6047536e1dbb3e6253bd6c2b3400d6f5903Casey Dahlin libmdnssd 297630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert 298a629e2e578acf83dbadd55b70c3221c4289d7031Josh Gao# Don't use libcutils on Windows. 299a629e2e578acf83dbadd55b70c3221c4289d7031Josh GaoLOCAL_STATIC_LIBRARIES_darwin := libcutils 3002fe9b6047536e1dbb3e6253bd6c2b3400d6f5903Casey DahlinLOCAL_STATIC_LIBRARIES_linux := libcutils 301a629e2e578acf83dbadd55b70c3221c4289d7031Josh Gao 3021c70e1bcbcced190b351d4fb418f32b4e428f496Josh GaoLOCAL_STATIC_LIBRARIES_darwin += libusb 3031c70e1bcbcced190b351d4fb418f32b4e428f496Josh GaoLOCAL_STATIC_LIBRARIES_linux += libusb 3041c70e1bcbcced190b351d4fb418f32b4e428f496Josh Gao 30587a419c8b1343c9025fe2593206a6e95b0aa9700Dan WillemsenLOCAL_CXX_STL := libc++_static 30655bf5f0017a76df0a97ec35f092054ef6f33c713Colin Cross 30755bf5f0017a76df0a97ec35f092054ef6f33c713Colin Cross# Don't add anything here, we don't want additional shared dependencies 30855bf5f0017a76df0a97ec35f092054ef6f33c713Colin Cross# on the host adb tool, and shared libraries that link against libc++ 30955bf5f0017a76df0a97ec35f092054ef6f33c713Colin Cross# will violate ODR 31055bf5f0017a76df0a97ec35f092054ef6f33c713Colin CrossLOCAL_SHARED_LIBRARIES := 31155bf5f0017a76df0a97ec35f092054ef6f33c713Colin Cross 312dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(BUILD_HOST_EXECUTABLE) 313dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 31471edfc8b9ab78f00206828993526aedd115c46b1Ying Wang$(call dist-for-goals,dist_files sdk win_sdk,$(LOCAL_BUILT_MODULE)) 31571edfc8b9ab78f00206828993526aedd115c46b1Ying Wangifdef HOST_CROSS_OS 31671edfc8b9ab78f00206828993526aedd115c46b1Ying Wang# Archive adb.exe for win_sdk build. 31771edfc8b9ab78f00206828993526aedd115c46b1Ying Wang$(call dist-for-goals,win_sdk,$(ALL_MODULES.host_cross_adb.BUILT)) 31871edfc8b9ab78f00206828993526aedd115c46b1Ying Wangendif 319dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 320dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 321dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# adbd device daemon 322dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# ========================================================= 323dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 324dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(CLEAR_VARS) 325dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 32653daee6a2b415caa0ff3e425c7fa613c834bca61Elliott HughesLOCAL_CLANG := true 3279697ce520d47500a72c95bb7f688ff2f273c9070Dan Albert 328dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_SRC_FILES := \ 329c89e0ccd40624e8b2ce30d425e8bed0264fae548Dan Albert daemon/main.cpp \ 3306cd5e0b4efded6b86c27de7d97dd910190436867Casey Dahlin daemon/mdns.cpp \ 331bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert services.cpp \ 332bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert file_sync_service.cpp \ 333bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert framebuffer_service.cpp \ 334bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert remount_service.cpp \ 335bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert set_verity_enable_state_service.cpp \ 33680f67029e002a97dd4f752881d820b3161f729f1David Pursell shell_service.cpp \ 337b9e2e84e7e3cc5c9f30d63ef7d1337363437d2c7David Pursell shell_service_protocol.cpp \ 338dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 33951448eb39ef28b6c0314668ce22aa1f4aa116e8dChristopher FerrisLOCAL_CFLAGS := \ 3401ba1d7c1ee644967ff4743b0d257290cbeca7a83Dan Albert $(ADB_COMMON_CFLAGS) \ 341b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178bJosh Gao $(ADB_COMMON_linux_CFLAGS) \ 342bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert -DADB_HOST=0 \ 343bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert -D_GNU_SOURCE \ 344bac3474a8256cb32a29e8d46f78cad95a5502692Dan Albert -Wno-deprecated-declarations \ 345dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 3465cba504215ea91187cc36ec7aec5dce1b0f4b0feElliott HughesLOCAL_CFLAGS += -DALLOW_ADBD_NO_AUTH=$(if $(filter userdebug eng,$(TARGET_BUILD_VARIANT)),1,0) 3475890fe33141a9efd124c86c40a8c1ff6170ecf20Nick Kralevich 348ec7a66713144a16361724fe88332b28bbf3f4b3cElliott Hughesifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) 349ec900bba20630934dc51a1b3a57d6d7a30fed325Paul LawrenceLOCAL_CFLAGS += -DALLOW_ADBD_DISABLE_VERITY=1 3505cba504215ea91187cc36ec7aec5dce1b0f4b0feElliott HughesLOCAL_CFLAGS += -DALLOW_ADBD_ROOT=1 351ec900bba20630934dc51a1b3a57d6d7a30fed325Paul Lawrenceendif 352ec900bba20630934dc51a1b3a57d6d7a30fed325Paul Lawrence 353dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_MODULE := adbd 354dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 355dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_FORCE_STATIC_EXECUTABLE := true 356dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN) 357dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED) 358ec900bba20630934dc51a1b3a57d6d7a30fed325Paul Lawrence 3599113b47eacb955ec83fe8ecce67f7905b2c395beDan AlbertLOCAL_SANITIZE := $(adb_target_sanitize) 360809607ae288350ec20ef0dc1bb7f722b312038efJosh GaoLOCAL_STRIP_MODULE := keep_symbols 361630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan AlbertLOCAL_STATIC_LIBRARIES := \ 3629449376328daa7c726ec693637fcdf1d3985640aDan Albert libadbd \ 363175b7bbfb4d935e1867a1d6df14e6ef94f2db2f4Tao Bao libbase \ 36440e0ec918e728911c0dc3fb3f76d5c0de83dd702Tao Bao libbootloader_message \ 365030b76fc1d2884b8bafb2bdcd4d9947b351d627dDan Albert libfs_mgr \ 3668ad80763e4b3bdcd80d16c63f03b19eb9df989b2Sami Tolvanen libfec \ 3678ad80763e4b3bdcd80d16c63f03b19eb9df989b2Sami Tolvanen libfec_rs \ 368bd2d961cc2875259677e34211d2e8ec071b0d8daWilliam Roberts libselinux \ 369630b9afeb0d7f0e5e053db0f900cfb65d914cb1aDan Albert liblog \ 370705353ae277e408e70169c0811c5d104a3b733f6Alex Deymo libext4_utils \ 3718ad80763e4b3bdcd80d16c63f03b19eb9df989b2Sami Tolvanen libsquashfs_utils \ 372e246219d0c9897b1c08204d6c535d5d341c4e7eeDan Albert libcutils \ 373e246219d0c9897b1c08204d6c535d5d341c4e7eeDan Albert libbase \ 37447763c3a09e8581338c307c5a5de4ae359c3b6e7Josh Gao libcrypto_utils \ 37547763c3a09e8581338c307c5a5de4ae359c3b6e7Josh Gao libcrypto \ 376809607ae288350ec20ef0dc1bb7f722b312038efJosh Gao libminijail \ 3776cd5e0b4efded6b86c27de7d97dd910190436867Casey Dahlin libmdnssd \ 378cbe70cb0a8cb0171f3802273050e851a47b090edJosh Gao libdebuggerd_handler \ 379dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 38029e1e7393d1742f9dd5663c63026f50981e5bd89Jeff Browninclude $(BUILD_EXECUTABLE) 38144c688ca19a570b4d73f92f34d410e62ef491f0aJosh Gao 38244c688ca19a570b4d73f92f34d410e62ef491f0aJosh Gaoinclude $(call first-makefiles-under,$(LOCAL_PATH)) 383