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 host tool 9 # ========================================================= 10 include $(CLEAR_VARS) 11 12 # Default to a virtual (sockets) usb interface 13 USB_SRCS := 14 EXTRA_SRCS := 15 16 ifeq ($(HOST_OS),linux) 17 USB_SRCS := usb_linux.c 18 EXTRA_SRCS := get_my_path_linux.c 19 LOCAL_LDLIBS += -lrt -lncurses -lpthread 20 endif 21 22 ifeq ($(HOST_OS),darwin) 23 USB_SRCS := usb_osx.c 24 EXTRA_SRCS := get_my_path_darwin.c 25 LOCAL_LDLIBS += -lpthread -framework CoreFoundation -framework IOKit -framework Carbon 26 endif 27 28 ifeq ($(HOST_OS),freebsd) 29 USB_SRCS := usb_libusb.c 30 EXTRA_SRCS := get_my_path_freebsd.c 31 LOCAL_LDLIBS += -lpthread -lusb 32 endif 33 34 ifeq ($(HOST_OS),windows) 35 USB_SRCS := usb_windows.c 36 EXTRA_SRCS := get_my_path_windows.c 37 EXTRA_STATIC_LIBS := AdbWinApi 38 ifneq ($(strip $(USE_CYGWIN)),) 39 # Pure cygwin case 40 LOCAL_LDLIBS += -lpthread 41 LOCAL_C_INCLUDES += /usr/include/w32api/ddk 42 endif 43 ifneq ($(strip $(USE_MINGW)),) 44 # MinGW under Linux case 45 LOCAL_LDLIBS += -lws2_32 46 USE_SYSDEPS_WIN32 := 1 47 LOCAL_C_INCLUDES += /usr/i586-mingw32msvc/include/ddk 48 endif 49 LOCAL_C_INCLUDES += development/host/windows/usb/api/ 50 endif 51 52 LOCAL_SRC_FILES := \ 53 adb.c \ 54 console.c \ 55 transport.c \ 56 transport_local.c \ 57 transport_usb.c \ 58 commandline.c \ 59 adb_client.c \ 60 sockets.c \ 61 services.c \ 62 file_sync_client.c \ 63 $(EXTRA_SRCS) \ 64 $(USB_SRCS) \ 65 utils.c \ 66 usb_vendors.c 67 68 69 ifneq ($(USE_SYSDEPS_WIN32),) 70 LOCAL_SRC_FILES += sysdeps_win32.c 71 else 72 LOCAL_SRC_FILES += fdevent.c 73 endif 74 75 LOCAL_CFLAGS += -O2 -g -DADB_HOST=1 -Wall -Wno-unused-parameter 76 LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE 77 LOCAL_MODULE := adb 78 79 LOCAL_STATIC_LIBRARIES := libzipfile libunz $(EXTRA_STATIC_LIBS) 80 ifeq ($(USE_SYSDEPS_WIN32),) 81 LOCAL_STATIC_LIBRARIES += libcutils 82 endif 83 84 include $(BUILD_HOST_EXECUTABLE) 85 86 $(call dist-for-goals,dist_files,$(LOCAL_BUILT_MODULE)) 87 88 ifeq ($(HOST_OS),windows) 89 $(LOCAL_INSTALLED_MODULE): \ 90 $(HOST_OUT_EXECUTABLES)/AdbWinApi.dll \ 91 $(HOST_OUT_EXECUTABLES)/AdbWinUsbApi.dll 92 endif 93 94 95 # adbd device daemon 96 # ========================================================= 97 98 BUILD_ADBD := true 99 100 # build adbd for the Linux simulator build 101 # so we can use it to test the adb USB gadget driver on x86 102 #ifeq ($(HOST_OS),linux) 103 # BUILD_ADBD := true 104 #endif 105 106 107 ifeq ($(BUILD_ADBD),true) 108 include $(CLEAR_VARS) 109 110 LOCAL_SRC_FILES := \ 111 adb.c \ 112 backup_service.c \ 113 fdevent.c \ 114 transport.c \ 115 transport_local.c \ 116 transport_usb.c \ 117 sockets.c \ 118 services.c \ 119 file_sync_service.c \ 120 jdwp_service.c \ 121 framebuffer_service.c \ 122 remount_service.c \ 123 usb_linux_client.c \ 124 log_service.c \ 125 utils.c 126 127 LOCAL_CFLAGS := -O2 -g -DADB_HOST=0 -Wall -Wno-unused-parameter 128 LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE 129 130 # TODO: This should probably be board specific, whether or not the kernel has 131 # the gadget driver; rather than relying on the architecture type. 132 ifeq ($(TARGET_ARCH),arm) 133 LOCAL_CFLAGS += -DANDROID_GADGET=1 134 endif 135 136 LOCAL_MODULE := adbd 137 138 LOCAL_FORCE_STATIC_EXECUTABLE := true 139 LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN) 140 LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED) 141 142 LOCAL_STATIC_LIBRARIES := libcutils libc 143 include $(BUILD_EXECUTABLE) 144 145 endif 146 147 148 # adb host tool for device-as-host 149 # ========================================================= 150 ifneq ($(SDK_ONLY),true) 151 include $(CLEAR_VARS) 152 153 LOCAL_LDLIBS := -lrt -lncurses -lpthread 154 155 LOCAL_SRC_FILES := \ 156 adb.c \ 157 console.c \ 158 transport.c \ 159 transport_local.c \ 160 transport_usb.c \ 161 commandline.c \ 162 adb_client.c \ 163 sockets.c \ 164 services.c \ 165 file_sync_client.c \ 166 get_my_path_linux.c \ 167 usb_linux.c \ 168 utils.c \ 169 usb_vendors.c \ 170 fdevent.c 171 172 LOCAL_CFLAGS := \ 173 -O2 \ 174 -g \ 175 -DADB_HOST=1 \ 176 -DADB_HOST_ON_TARGET=1 \ 177 -Wall \ 178 -Wno-unused-parameter \ 179 -D_XOPEN_SOURCE \ 180 -D_GNU_SOURCE 181 182 LOCAL_MODULE := adb 183 184 LOCAL_STATIC_LIBRARIES := libzipfile libunz libcutils 185 186 include $(BUILD_EXECUTABLE) 187 endif 188