blob: 740135e87b705d33633007ac3ea342ed3b4e6885 [file] [log] [blame]
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -08001# Copyright 2005 The Android Open Source Project
2#
3# Android.mk for adb
4#
5
6LOCAL_PATH:= $(call my-dir)
7
8# adb host tool
9# =========================================================
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080010include $(CLEAR_VARS)
11
12# Default to a virtual (sockets) usb interface
13USB_SRCS :=
14EXTRA_SRCS :=
15
16ifeq ($(HOST_OS),linux)
17 USB_SRCS := usb_linux.c
18 EXTRA_SRCS := get_my_path_linux.c
19 LOCAL_LDLIBS += -lrt -lncurses -lpthread
20endif
21
22ifeq ($(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
26endif
27
Alexey Tarasov3b226f92009-10-25 01:37:37 +110028ifeq ($(HOST_OS),freebsd)
29 USB_SRCS := usb_libusb.c
30 EXTRA_SRCS := get_my_path_freebsd.c
31 LOCAL_LDLIBS += -lpthread -lusb
32endif
33
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080034ifeq ($(HOST_OS),windows)
35 USB_SRCS := usb_windows.c
36 EXTRA_SRCS := get_my_path_windows.c
37 EXTRA_STATIC_LIBS := AdbWinApi
38 LOCAL_C_INCLUDES += /usr/include/w32api/ddk development/host/windows/usb/api/
39 ifneq ($(strip $(USE_CYGWIN)),)
40 LOCAL_LDLIBS += -lpthread
41 else
42 LOCAL_LDLIBS += -lws2_32
43 USE_SYSDEPS_WIN32 := 1
44 endif
45endif
46
47LOCAL_SRC_FILES := \
48 adb.c \
49 console.c \
50 transport.c \
51 transport_local.c \
52 transport_usb.c \
53 commandline.c \
54 adb_client.c \
55 sockets.c \
56 services.c \
57 file_sync_client.c \
58 $(EXTRA_SRCS) \
59 $(USB_SRCS) \
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080060 utils.c \
Raphael26f3de62009-08-11 11:08:45 -070061 usb_vendors.c
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080062
63
64ifneq ($(USE_SYSDEPS_WIN32),)
65 LOCAL_SRC_FILES += sysdeps_win32.c
David 'Digit' Turner414ff7d2009-05-18 17:07:46 +020066else
67 LOCAL_SRC_FILES += fdevent.c
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080068endif
69
70LOCAL_CFLAGS += -O2 -g -DADB_HOST=1 -Wall -Wno-unused-parameter
Jack Palevich7fe202f2010-05-25 14:49:57 +080071LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080072LOCAL_MODULE := adb
73
74LOCAL_STATIC_LIBRARIES := libzipfile libunz $(EXTRA_STATIC_LIBS)
75ifeq ($(USE_SYSDEPS_WIN32),)
76 LOCAL_STATIC_LIBRARIES += libcutils
77endif
78
79include $(BUILD_HOST_EXECUTABLE)
80
81$(call dist-for-goals,droid,$(LOCAL_BUILT_MODULE))
82
83ifeq ($(HOST_OS),windows)
Raphael26f3de62009-08-11 11:08:45 -070084$(LOCAL_INSTALLED_MODULE): \
85 $(HOST_OUT_EXECUTABLES)/AdbWinApi.dll \
86 $(HOST_OUT_EXECUTABLES)/AdbWinUsbApi.dll
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080087endif
88
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080089
90# adbd device daemon
91# =========================================================
92
93# build adbd in all non-simulator builds
94BUILD_ADBD := false
95ifneq ($(TARGET_SIMULATOR),true)
96 BUILD_ADBD := true
97endif
98
99# build adbd for the Linux simulator build
100# so we can use it to test the adb USB gadget driver on x86
Mike Lockwood63e61522009-08-06 10:58:00 -0400101#ifeq ($(HOST_OS),linux)
102# BUILD_ADBD := true
103#endif
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800104
105
106ifeq ($(BUILD_ADBD),true)
107include $(CLEAR_VARS)
108
109LOCAL_SRC_FILES := \
110 adb.c \
David 'Digit' Turner414ff7d2009-05-18 17:07:46 +0200111 fdevent.c \
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800112 transport.c \
113 transport_local.c \
114 transport_usb.c \
115 sockets.c \
116 services.c \
117 file_sync_service.c \
118 jdwp_service.c \
119 framebuffer_service.c \
120 remount_service.c \
121 usb_linux_client.c \
122 log_service.c \
Raphael26f3de62009-08-11 11:08:45 -0700123 utils.c
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800124
125LOCAL_CFLAGS := -O2 -g -DADB_HOST=0 -Wall -Wno-unused-parameter
126LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE
127
128# TODO: This should probably be board specific, whether or not the kernel has
129# the gadget driver; rather than relying on the architecture type.
130ifeq ($(TARGET_ARCH),arm)
131LOCAL_CFLAGS += -DANDROID_GADGET=1
132endif
133
134LOCAL_MODULE := adbd
135
136LOCAL_FORCE_STATIC_EXECUTABLE := true
137LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
138LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)
139
140ifeq ($(TARGET_SIMULATOR),true)
141 LOCAL_STATIC_LIBRARIES := libcutils
142 LOCAL_LDLIBS += -lpthread
143 include $(BUILD_HOST_EXECUTABLE)
144else
145 LOCAL_STATIC_LIBRARIES := libcutils libc
146 include $(BUILD_EXECUTABLE)
147endif
148
149endif