OSDN Git Service

am 5329d3fd: Merge "Add a project wide clang switch."
[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 -Wno-unused-parameter \
30     -D_XOPEN_SOURCE -D_GNU_SOURCE \
31     -fvisibility=hidden \
32
33 LIBADB_darwin_SRC_FILES := fdevent.cpp get_my_path_darwin.c usb_osx.c
34 LIBADB_linux_SRC_FILES := fdevent.cpp get_my_path_linux.c usb_linux.c
35 LIBADB_windows_SRC_FILES := get_my_path_windows.c sysdeps_win32.c usb_windows.c
36
37 include $(CLEAR_VARS)
38 LOCAL_CLANG := $(ADB_CLANG)
39 LOCAL_MODULE := libadbd
40 LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=0
41 LOCAL_SRC_FILES := \
42     $(LIBADB_SRC_FILES) \
43     adb_auth_client.c \
44     fdevent.cpp \
45     jdwp_service.c \
46     qemu_tracing.c \
47     usb_linux_client.c \
48
49 include $(BUILD_STATIC_LIBRARY)
50
51 include $(CLEAR_VARS)
52 LOCAL_CLANG := $(ADB_CLANG)
53 LOCAL_MODULE := libadb
54 LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=1
55 LOCAL_SRC_FILES := \
56     $(LIBADB_SRC_FILES) \
57     $(LIBADB_$(HOST_OS)_SRC_FILES) \
58     adb_auth_host.c \
59
60 # Even though we're building a static library (and thus there's no link step for
61 # this to take effect), this adds the SSL includes to our path.
62 LOCAL_STATIC_LIBRARIES := libcrypto_static
63
64 ifeq ($(HOST_OS),windows)
65     LOCAL_C_INCLUDES += development/host/windows/usb/api/
66 endif
67
68 include $(BUILD_HOST_STATIC_LIBRARY)
69
70 # adb host tool
71 # =========================================================
72 include $(CLEAR_VARS)
73
74 ifeq ($(HOST_OS),linux)
75   LOCAL_LDLIBS += -lrt -ldl -lpthread
76   LOCAL_CFLAGS += -DWORKAROUND_BUG6558362
77 endif
78
79 ifeq ($(HOST_OS),darwin)
80   LOCAL_LDLIBS += -lpthread -framework CoreFoundation -framework IOKit -framework Carbon
81   LOCAL_CFLAGS += -Wno-sizeof-pointer-memaccess -Wno-unused-parameter
82 endif
83
84 ifeq ($(HOST_OS),windows)
85   EXTRA_STATIC_LIBS := AdbWinApi
86   ifneq ($(strip $(USE_MINGW)),)
87     # MinGW under Linux case
88     LOCAL_LDLIBS += -lws2_32 -lgdi32
89     USE_SYSDEPS_WIN32 := 1
90   endif
91 endif
92
93 LOCAL_CLANG := $(ADB_CLANG)
94
95 LOCAL_SRC_FILES := \
96         adb_main.c \
97         console.c \
98         commandline.c \
99         adb_client.c \
100         services.c \
101         file_sync_client.c \
102
103 ifneq ($(USE_SYSDEPS_WIN32),)
104   LOCAL_SRC_FILES += sysdeps_win32.c
105 endif
106
107 LOCAL_CFLAGS += -O2 -g -DADB_HOST=1 -Wall -Wno-unused-parameter -Werror
108 LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE
109 LOCAL_MODULE := adb
110 LOCAL_MODULE_TAGS := debug
111
112 LOCAL_STATIC_LIBRARIES := \
113     libadb \
114     libzipfile \
115     libcrypto_static \
116     $(EXTRA_STATIC_LIBS) \
117
118 ifeq ($(USE_SYSDEPS_WIN32),)
119         LOCAL_STATIC_LIBRARIES += libcutils
120 endif
121
122 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
123 include $(BUILD_HOST_EXECUTABLE)
124
125 $(call dist-for-goals,dist_files sdk,$(LOCAL_BUILT_MODULE))
126
127 ifeq ($(HOST_OS),windows)
128 $(LOCAL_INSTALLED_MODULE): \
129     $(HOST_OUT_EXECUTABLES)/AdbWinApi.dll \
130     $(HOST_OUT_EXECUTABLES)/AdbWinUsbApi.dll
131 endif
132
133
134 # adbd device daemon
135 # =========================================================
136
137 include $(CLEAR_VARS)
138
139 LOCAL_CLANG := $(ADB_CLANG)
140
141 LOCAL_SRC_FILES := \
142         adb_main.c \
143         services.c \
144         file_sync_service.c \
145         framebuffer_service.c \
146         remount_service.c \
147         set_verity_enable_state_service.c \
148
149 LOCAL_CFLAGS := \
150         -O2 \
151         -g \
152         -DADB_HOST=0 \
153         -D_XOPEN_SOURCE \
154         -D_GNU_SOURCE \
155         -Wall -Wno-unused-parameter -Werror -Wno-deprecated-declarations \
156
157 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
158 LOCAL_CFLAGS += -DALLOW_ADBD_ROOT=1
159 endif
160
161 ifneq (,$(filter userdebug,$(TARGET_BUILD_VARIANT)))
162 LOCAL_CFLAGS += -DALLOW_ADBD_DISABLE_VERITY=1
163 endif
164
165 LOCAL_MODULE := adbd
166
167 LOCAL_FORCE_STATIC_EXECUTABLE := true
168 LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
169 LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)
170 LOCAL_C_INCLUDES += system/extras/ext4_utils system/core/fs_mgr/include
171
172 LOCAL_STATIC_LIBRARIES := \
173     libadbd \
174     libfs_mgr \
175     liblog \
176     libcutils \
177     libc \
178     libmincrypt \
179     libselinux \
180     libext4_utils_static \
181
182 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
183
184 include $(BUILD_EXECUTABLE)