OSDN Git Service

Merge "Add some basic tests to adb."
[android-x86/system-core.git] / adb / Android.mk
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_CLANG :=
9
10 # libadb
11 # =========================================================
12
13 # Much of adb is duplicated in bootable/recovery/minadb and fastboot. Changes
14 # made to adb rarely get ported to the other two, so the trees have diverged a
15 # bit. We'd like to stop this because it is a maintenance nightmare, but the
16 # divergence makes this difficult to do all at once. For now, we will start
17 # small by moving common files into a static library. Hopefully some day we can
18 # get enough of adb in here that we no longer need minadb. https://b/17626262
19 LIBADB_SRC_FILES := \
20     adb.c \
21     adb_auth.c \
22     adb_listeners.c \
23     sockets.c \
24     transport.c \
25     transport_local.c \
26     transport_usb.c \
27
28 LIBADB_CFLAGS := \
29     -Wall -Werror \
30     -Wno-unused-parameter \
31     -Wno-missing-field-initializers \
32     -D_XOPEN_SOURCE -D_GNU_SOURCE \
33     -fvisibility=hidden \
34
35 LIBADB_darwin_SRC_FILES := fdevent.cpp get_my_path_darwin.c usb_osx.c
36 LIBADB_linux_SRC_FILES := fdevent.cpp get_my_path_linux.c usb_linux.c
37 LIBADB_windows_SRC_FILES := get_my_path_windows.c sysdeps_win32.c usb_windows.c
38
39 include $(CLEAR_VARS)
40 LOCAL_CLANG := $(ADB_CLANG)
41 LOCAL_MODULE := libadbd
42 LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=0
43 LOCAL_SRC_FILES := \
44     $(LIBADB_SRC_FILES) \
45     adb_auth_client.c \
46     fdevent.cpp \
47     jdwp_service.c \
48     qemu_tracing.c \
49     usb_linux_client.c \
50
51 include $(BUILD_STATIC_LIBRARY)
52
53 include $(CLEAR_VARS)
54 LOCAL_CLANG := $(ADB_CLANG)
55 LOCAL_MODULE := libadb
56 LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=1
57 LOCAL_SRC_FILES := \
58     $(LIBADB_SRC_FILES) \
59     $(LIBADB_$(HOST_OS)_SRC_FILES) \
60     adb_auth_host.c \
61
62 # Even though we're building a static library (and thus there's no link step for
63 # this to take effect), this adds the SSL includes to our path.
64 LOCAL_STATIC_LIBRARIES := libcrypto_static
65
66 ifeq ($(HOST_OS),windows)
67     LOCAL_C_INCLUDES += development/host/windows/usb/api/
68 endif
69
70 include $(BUILD_HOST_STATIC_LIBRARY)
71
72 LIBADB_TEST_SRCS := \
73     transport_test.cpp \
74
75 include $(CLEAR_VARS)
76 LOCAL_CLANG := $(ADB_CLANG)
77 LOCAL_MODULE := adbd_test
78 LOCAL_CFLAGS := -DADB_HOST=0 $(LIBADB_CFLAGS)
79 LOCAL_SRC_FILES := $(LIBADB_TEST_SRCS)
80 LOCAL_STATIC_LIBRARIES := libadbd
81 LOCAL_SHARED_LIBRARIES := liblog
82 include $(BUILD_NATIVE_TEST)
83
84 include $(CLEAR_VARS)
85 LOCAL_CLANG := $(ADB_CLANG)
86 LOCAL_MODULE := adb_test
87 LOCAL_CFLAGS := -DADB_HOST=1 $(LIBADB_CFLAGS)
88 LOCAL_SRC_FILES := $(LIBADB_TEST_SRCS) services.c
89 LOCAL_STATIC_LIBRARIES := \
90     libadb \
91     libcrypto_static \
92     libcutils \
93
94 ifeq ($(HOST_OS),linux)
95   LOCAL_LDLIBS += -lrt -ldl -lpthread
96 endif
97
98 include $(BUILD_HOST_NATIVE_TEST)
99
100 # adb host tool
101 # =========================================================
102 include $(CLEAR_VARS)
103
104 ifeq ($(HOST_OS),linux)
105   LOCAL_LDLIBS += -lrt -ldl -lpthread
106   LOCAL_CFLAGS += -DWORKAROUND_BUG6558362
107 endif
108
109 ifeq ($(HOST_OS),darwin)
110   LOCAL_LDLIBS += -lpthread -framework CoreFoundation -framework IOKit -framework Carbon
111   LOCAL_CFLAGS += -Wno-sizeof-pointer-memaccess -Wno-unused-parameter
112 endif
113
114 ifeq ($(HOST_OS),windows)
115   EXTRA_STATIC_LIBS := AdbWinApi
116   ifneq ($(strip $(USE_MINGW)),)
117     # MinGW under Linux case
118     LOCAL_LDLIBS += -lws2_32 -lgdi32
119     USE_SYSDEPS_WIN32 := 1
120   endif
121 endif
122
123 LOCAL_CLANG := $(ADB_CLANG)
124
125 LOCAL_SRC_FILES := \
126         adb_main.c \
127         console.c \
128         commandline.c \
129         adb_client.c \
130         services.c \
131         file_sync_client.c \
132
133 ifneq ($(USE_SYSDEPS_WIN32),)
134   LOCAL_SRC_FILES += sysdeps_win32.c
135 endif
136
137 LOCAL_CFLAGS += -O2 -g -DADB_HOST=1 -Wall -Wno-unused-parameter -Werror
138 LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE
139 LOCAL_MODULE := adb
140 LOCAL_MODULE_TAGS := debug
141
142 LOCAL_STATIC_LIBRARIES := \
143     libadb \
144     libzipfile \
145     libcrypto_static \
146     $(EXTRA_STATIC_LIBS) \
147
148 ifeq ($(USE_SYSDEPS_WIN32),)
149         LOCAL_STATIC_LIBRARIES += libcutils
150 endif
151
152 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
153 include $(BUILD_HOST_EXECUTABLE)
154
155 $(call dist-for-goals,dist_files sdk,$(LOCAL_BUILT_MODULE))
156
157 ifeq ($(HOST_OS),windows)
158 $(LOCAL_INSTALLED_MODULE): \
159     $(HOST_OUT_EXECUTABLES)/AdbWinApi.dll \
160     $(HOST_OUT_EXECUTABLES)/AdbWinUsbApi.dll
161 endif
162
163
164 # adbd device daemon
165 # =========================================================
166
167 include $(CLEAR_VARS)
168
169 LOCAL_CLANG := $(ADB_CLANG)
170
171 LOCAL_SRC_FILES := \
172         adb_main.c \
173         services.c \
174         file_sync_service.c \
175         framebuffer_service.c \
176         remount_service.c \
177         set_verity_enable_state_service.c \
178
179 LOCAL_CFLAGS := \
180         -O2 \
181         -g \
182         -DADB_HOST=0 \
183         -D_XOPEN_SOURCE \
184         -D_GNU_SOURCE \
185         -Wall -Wno-unused-parameter -Werror -Wno-deprecated-declarations \
186
187 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
188 LOCAL_CFLAGS += -DALLOW_ADBD_ROOT=1
189 endif
190
191 ifneq (,$(filter userdebug,$(TARGET_BUILD_VARIANT)))
192 LOCAL_CFLAGS += -DALLOW_ADBD_DISABLE_VERITY=1
193 endif
194
195 LOCAL_MODULE := adbd
196
197 LOCAL_FORCE_STATIC_EXECUTABLE := true
198 LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
199 LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)
200 LOCAL_C_INCLUDES += system/extras/ext4_utils system/core/fs_mgr/include
201
202 LOCAL_STATIC_LIBRARIES := \
203     libadbd \
204     libfs_mgr \
205     liblog \
206     libcutils \
207     libc \
208     libmincrypt \
209     libselinux \
210     libext4_utils_static \
211
212 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
213
214 include $(BUILD_EXECUTABLE)