1# 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# =========================================================
10include $(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
28ifeq ($(HOST_OS),freebsd)
29  USB_SRCS := usb_libusb.c
30  EXTRA_SRCS := get_my_path_freebsd.c
31  LOCAL_LDLIBS += -lpthread -lusb
32endif
33
34ifeq ($(HOST_OS),windows)
35  USB_SRCS := usb_windows.c
36  EXTRA_SRCS := get_my_path_windows.c ../libcutils/list.c
37  EXTRA_STATIC_LIBS := AdbWinApi
38  ifneq ($(strip $(USE_CYGWIN)),)
39    # Pure cygwin case
40    LOCAL_LDLIBS += -lpthread -lgdi32
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 -lgdi32
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/
50endif
51
52LOCAL_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	adb_auth_host.c \
61	sockets.c \
62	services.c \
63	file_sync_client.c \
64	$(EXTRA_SRCS) \
65	$(USB_SRCS) \
66	utils.c \
67	usb_vendors.c
68
69LOCAL_C_INCLUDES += external/openssl/include
70
71ifneq ($(USE_SYSDEPS_WIN32),)
72  LOCAL_SRC_FILES += sysdeps_win32.c
73else
74  LOCAL_SRC_FILES += fdevent.c
75endif
76
77LOCAL_CFLAGS += -O2 -g -DADB_HOST=1  -Wall -Wno-unused-parameter
78LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE
79LOCAL_MODULE := adb
80
81LOCAL_STATIC_LIBRARIES := libzipfile libunz libcrypto_static $(EXTRA_STATIC_LIBS)
82ifeq ($(USE_SYSDEPS_WIN32),)
83	LOCAL_STATIC_LIBRARIES += libcutils
84endif
85
86include $(BUILD_HOST_EXECUTABLE)
87
88$(call dist-for-goals,dist_files sdk,$(LOCAL_BUILT_MODULE))
89
90ifeq ($(HOST_OS),windows)
91$(LOCAL_INSTALLED_MODULE): \
92    $(HOST_OUT_EXECUTABLES)/AdbWinApi.dll \
93    $(HOST_OUT_EXECUTABLES)/AdbWinUsbApi.dll
94endif
95
96
97# adbd device daemon
98# =========================================================
99
100include $(CLEAR_VARS)
101
102LOCAL_SRC_FILES := \
103	adb.c \
104	backup_service.c \
105	fdevent.c \
106	transport.c \
107	transport_local.c \
108	transport_usb.c \
109	adb_auth_client.c \
110	sockets.c \
111	services.c \
112	file_sync_service.c \
113	jdwp_service.c \
114	framebuffer_service.c \
115	remount_service.c \
116	usb_linux_client.c \
117	log_service.c \
118	utils.c
119
120LOCAL_CFLAGS := -O2 -g -DADB_HOST=0 -Wall -Wno-unused-parameter
121LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE
122
123ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
124LOCAL_CFLAGS += -DALLOW_ADBD_ROOT=1
125endif
126
127LOCAL_MODULE := adbd
128
129LOCAL_FORCE_STATIC_EXECUTABLE := true
130LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
131LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)
132
133LOCAL_STATIC_LIBRARIES := libcutils libc libmincrypt
134include $(BUILD_EXECUTABLE)
135
136
137# adb host tool for device-as-host
138# =========================================================
139ifneq ($(SDK_ONLY),true)
140include $(CLEAR_VARS)
141
142LOCAL_LDLIBS := -lrt -lncurses -lpthread
143
144LOCAL_SRC_FILES := \
145	adb.c \
146	console.c \
147	transport.c \
148	transport_local.c \
149	transport_usb.c \
150	commandline.c \
151	adb_client.c \
152	adb_auth_host.c \
153	sockets.c \
154	services.c \
155	file_sync_client.c \
156	get_my_path_linux.c \
157	usb_linux.c \
158	utils.c \
159	usb_vendors.c \
160	fdevent.c
161
162LOCAL_CFLAGS := \
163	-O2 \
164	-g \
165	-DADB_HOST=1 \
166	-DADB_HOST_ON_TARGET=1 \
167	-Wall \
168	-Wno-unused-parameter \
169	-D_XOPEN_SOURCE \
170	-D_GNU_SOURCE
171
172LOCAL_C_INCLUDES += external/openssl/include
173
174LOCAL_MODULE := adb
175
176LOCAL_STATIC_LIBRARIES := libzipfile libunz libcutils
177
178LOCAL_SHARED_LIBRARIES := libcrypto
179
180include $(BUILD_EXECUTABLE)
181endif
182