blob: 265ed230d2dfab9390c11811eccb1e68f521aeb8 [file] [log] [blame]
Alex Deymod5561a52015-09-03 23:17:52 -07001#
2# Copyright (C) 2015 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH := $(my-dir)
18
Alex Deymo787dc412015-10-29 11:39:20 -070019# Default values for the USE flags. Override these USE flags from your product.
Alex Deymo4218b7e2015-11-17 21:14:42 -030020BRILLO_USE_DBUS ?= 1
Alex Deymo787dc412015-10-29 11:39:20 -070021BRILLO_USE_HWID_OVERRIDE ?= 0
22BRILLO_USE_MTD ?= 0
23BRILLO_USE_POWER_MANAGEMENT ?= 0
24
Alex Deymoc372ab62015-10-29 00:43:26 -070025ue_common_cflags := \
Alex Deymo4218b7e2015-11-17 21:14:42 -030026 -DUSE_DBUS=$(BRILLO_USE_DBUS) \
Alex Deymo787dc412015-10-29 11:39:20 -070027 -DUSE_HWID_OVERRIDE=$(BRILLO_USE_HWID_OVERRIDE) \
28 -DUSE_MTD=$(BRILLO_USE_MTD) \
29 -DUSE_POWER_MANAGEMENT=$(BRILLO_USE_POWER_MANAGEMENT) \
Alex Deymoc372ab62015-10-29 00:43:26 -070030 -D_FILE_OFFSET_BITS=64 \
31 -D_POSIX_C_SOURCE=199309L \
32 -Wa,--noexecstack \
33 -Wall \
34 -Werror \
35 -Wextra \
36 -Wformat=2 \
37 -Wno-psabi \
38 -Wno-unused-parameter \
39 -ffunction-sections \
40 -fstack-protector-strong \
41 -fvisibility=hidden
42ue_common_cppflags := \
43 -Wnon-virtual-dtor \
44 -fno-strict-aliasing \
45 -std=gnu++11
46ue_common_ldflags := \
47 -Wl,--gc-sections
48ue_common_c_includes := \
49 $(LOCAL_PATH)/client_library/include \
50 external/gtest/include \
51 system
52ue_common_shared_libraries := \
53 libbrillo \
Alex Deymoc372ab62015-10-29 00:43:26 -070054 libbrillo-http \
55 libbrillo-stream \
Alex Deymo4218b7e2015-11-17 21:14:42 -030056 libchrome
Alex Deymod5561a52015-09-03 23:17:52 -070057
Alex Deymo4218b7e2015-11-17 21:14:42 -030058ifeq ($(BRILLO_USE_DBUS),1)
59ue_common_shared_libraries += \
60 libbrillo-dbus \
61 libchrome-dbus
62endif # BRILLO_USE_DBUS == 1
63
64
65ifeq ($(BRILLO_USE_DBUS),1)
Alex Deymoc372ab62015-10-29 00:43:26 -070066
67# update_engine_client-dbus-proxies (from generate-dbus-proxies.gypi)
68# ========================================================
69include $(CLEAR_VARS)
70LOCAL_MODULE := update_engine_client-dbus-proxies
71LOCAL_MODULE_CLASS := STATIC_LIBRARIES
72LOCAL_SRC_FILES := \
73 dbus_bindings/dbus-service-config.json \
74 dbus_bindings/org.chromium.UpdateEngineInterface.dbus-xml
75LOCAL_DBUS_PROXY_PREFIX := update_engine
76include $(BUILD_STATIC_LIBRARY)
Alex Deymod5561a52015-09-03 23:17:52 -070077
Alex Deymo4218b7e2015-11-17 21:14:42 -030078endif # BRILLO_USE_DBUS == 1
79
Alex Deymod5561a52015-09-03 23:17:52 -070080# update_metadata-protos (type: static_library)
81# ========================================================
82# Protobufs.
Alex Deymoc372ab62015-10-29 00:43:26 -070083ue_update_metadata_protos_exported_static_libraries := \
84 update_metadata-protos
85ue_update_metadata_protos_exported_shared_libraries := \
86 libprotobuf-cpp-lite-rtti
87
Alex Deymod5561a52015-09-03 23:17:52 -070088include $(CLEAR_VARS)
89LOCAL_MODULE := update_metadata-protos
90LOCAL_MODULE_CLASS := STATIC_LIBRARIES
91generated_sources_dir := $(call local-generated-sources-dir)
Alex Deymoc372ab62015-10-29 00:43:26 -070092LOCAL_EXPORT_C_INCLUDE_DIRS := $(generated_sources_dir)/proto/system
Alex Deymod5561a52015-09-03 23:17:52 -070093LOCAL_SRC_FILES := \
94 update_metadata.proto
Alex Deymod5561a52015-09-03 23:17:52 -070095include $(BUILD_STATIC_LIBRARY)
96
Alex Deymo4218b7e2015-11-17 21:14:42 -030097ifeq ($(BRILLO_USE_DBUS),1)
98
Alex Deymod5561a52015-09-03 23:17:52 -070099# update_engine-dbus-adaptor (from generate-dbus-adaptors.gypi)
100# ========================================================
Alex Deymoc372ab62015-10-29 00:43:26 -0700101# Chrome D-Bus bindings.
Alex Deymod5561a52015-09-03 23:17:52 -0700102include $(CLEAR_VARS)
103LOCAL_MODULE := update_engine-dbus-adaptor
Alex Deymoc372ab62015-10-29 00:43:26 -0700104LOCAL_MODULE_CLASS := STATIC_LIBRARIES
Alex Deymod5561a52015-09-03 23:17:52 -0700105LOCAL_SRC_FILES := \
106 dbus_bindings/org.chromium.UpdateEngineInterface.dbus-xml
107include $(BUILD_STATIC_LIBRARY)
108
109# update_engine-dbus-libcros-client (from generate-dbus-proxies.gypi)
110# ========================================================
111include $(CLEAR_VARS)
112LOCAL_MODULE := update_engine-dbus-libcros-client
Alex Deymoc372ab62015-10-29 00:43:26 -0700113LOCAL_MODULE_CLASS := STATIC_LIBRARIES
Alex Deymod5561a52015-09-03 23:17:52 -0700114LOCAL_SRC_FILES := \
115 dbus_bindings/org.chromium.LibCrosService.dbus-xml
116LOCAL_DBUS_PROXY_PREFIX := libcros
117include $(BUILD_STATIC_LIBRARY)
118
Alex Deymo4218b7e2015-11-17 21:14:42 -0300119endif # BRILLO_USE_DBUS == 1
120
Alex Deymo39910dc2015-11-09 17:04:30 -0800121# libpayload_consumer (type: static_library)
Alex Deymod5561a52015-09-03 23:17:52 -0700122# ========================================================
Alex Deymo39910dc2015-11-09 17:04:30 -0800123# The payload application component and common dependencies.
Alex Deymo39910dc2015-11-09 17:04:30 -0800124ue_libpayload_consumer_exported_static_libraries := \
125 update_metadata-protos \
Alex Deymo39910dc2015-11-09 17:04:30 -0800126 libxz \
127 libbz \
Alex Deymo39910dc2015-11-09 17:04:30 -0800128 $(ue_update_metadata_protos_exported_static_libraries)
129ue_libpayload_consumer_exported_shared_libraries := \
130 libcrypto \
131 libcurl \
Alex Deymo39910dc2015-11-09 17:04:30 -0800132 libssl \
Alex Deymo39910dc2015-11-09 17:04:30 -0800133 $(ue_update_metadata_protos_exported_shared_libraries)
134
135include $(CLEAR_VARS)
136LOCAL_MODULE := libpayload_consumer
137LOCAL_MODULE_CLASS := STATIC_LIBRARIES
138LOCAL_CPP_EXTENSION := .cc
139LOCAL_RTTI_FLAG := -frtti
140LOCAL_CLANG := true
Alex Deymo39910dc2015-11-09 17:04:30 -0800141LOCAL_CFLAGS := $(ue_common_cflags)
142LOCAL_CPPFLAGS := $(ue_common_cppflags)
143LOCAL_LDFLAGS := $(ue_common_ldflags)
144LOCAL_C_INCLUDES := \
145 $(ue_common_c_includes) \
Alex Deymo39910dc2015-11-09 17:04:30 -0800146 external/e2fsprogs/lib
147LOCAL_STATIC_LIBRARIES := \
148 update_metadata-protos \
Alex Deymo39910dc2015-11-09 17:04:30 -0800149 $(ue_libpayload_consumer_exported_static_libraries) \
150 $(ue_update_metadata_protos_exported_static_libraries)
151LOCAL_SHARED_LIBRARIES := \
152 $(ue_common_shared_libraries) \
153 $(ue_libpayload_consumer_exported_shared_libraries) \
154 $(ue_update_metadata_protos_exported_shared_libraries)
155LOCAL_SRC_FILES := \
156 common/action_processor.cc \
Alex Deymo39910dc2015-11-09 17:04:30 -0800157 common/boot_control_stub.cc \
158 common/certificate_checker.cc \
159 common/clock.cc \
160 common/constants.cc \
Alex Deymo39910dc2015-11-09 17:04:30 -0800161 common/hash_calculator.cc \
162 common/http_common.cc \
163 common/http_fetcher.cc \
164 common/hwid_override.cc \
165 common/libcurl_http_fetcher.cc \
166 common/multi_range_http_fetcher.cc \
167 common/platform_constants_android.cc \
168 common/prefs.cc \
169 common/subprocess.cc \
170 common/terminator.cc \
171 common/utils.cc \
172 payload_consumer/bzip_extent_writer.cc \
173 payload_consumer/delta_performer.cc \
174 payload_consumer/download_action.cc \
175 payload_consumer/extent_writer.cc \
176 payload_consumer/file_descriptor.cc \
177 payload_consumer/file_writer.cc \
178 payload_consumer/filesystem_verifier_action.cc \
179 payload_consumer/install_plan.cc \
180 payload_consumer/payload_constants.cc \
181 payload_consumer/payload_verifier.cc \
182 payload_consumer/postinstall_runner_action.cc \
183 payload_consumer/xz_extent_writer.cc
184include $(BUILD_STATIC_LIBRARY)
185
Alex Deymocd60dca2015-11-18 00:57:20 -0300186ifeq ($(BRILLO_USE_DBUS),1)
Alex Deymo4218b7e2015-11-17 21:14:42 -0300187
Alex Deymo39910dc2015-11-09 17:04:30 -0800188# libupdate_engine (type: static_library)
189# ========================================================
190# The main daemon static_library with all the code used to check for updates
191# with Omaha and expose a DBus daemon.
192ue_libupdate_engine_exported_c_includes := \
193 $(LOCAL_PATH)/include \
Alex Deymob09305e2015-12-02 16:09:13 -0300194 external/cros/system_api/dbus
Alex Deymoc372ab62015-10-29 00:43:26 -0700195ue_libupdate_engine_exported_static_libraries := \
Alex Deymo39910dc2015-11-09 17:04:30 -0800196 libpayload_consumer \
Alex Deymod5561a52015-09-03 23:17:52 -0700197 update_metadata-protos \
198 update_engine-dbus-adaptor \
199 update_engine-dbus-libcros-client \
200 update_engine_client-dbus-proxies \
David Zeuthen753fadc2015-09-15 16:34:09 -0400201 libbz \
Alex Deymoc372ab62015-10-29 00:43:26 -0700202 libfs_mgr \
Alex Deymo39910dc2015-11-09 17:04:30 -0800203 $(ue_libpayload_consumer_exported_static_libraries) \
Alex Deymoc372ab62015-10-29 00:43:26 -0700204 $(ue_update_metadata_protos_exported_static_libraries)
205ue_libupdate_engine_exported_shared_libraries := \
Alex Deymod5561a52015-09-03 23:17:52 -0700206 libdbus \
Alex Deymod5561a52015-09-03 23:17:52 -0700207 libmetrics \
Alex Deymo7eb23052015-10-09 15:27:59 -0700208 libshill-client \
Alex Deymod5561a52015-09-03 23:17:52 -0700209 libexpat \
Alex Vakulenko1bab5a82015-10-27 11:47:28 -0700210 libbrillo-policy \
Alex Deymoeadab7d2015-10-09 14:45:02 -0700211 libhardware \
Alex Deymoc372ab62015-10-29 00:43:26 -0700212 libcutils \
Alex Deymo39910dc2015-11-09 17:04:30 -0800213 $(ue_libpayload_consumer_exported_shared_libraries) \
Alex Deymoc372ab62015-10-29 00:43:26 -0700214 $(ue_update_metadata_protos_exported_shared_libraries)
215
216include $(CLEAR_VARS)
217LOCAL_MODULE := libupdate_engine
218LOCAL_MODULE_CLASS := STATIC_LIBRARIES
219LOCAL_CPP_EXTENSION := .cc
220LOCAL_RTTI_FLAG := -frtti
221LOCAL_CLANG := true
222LOCAL_EXPORT_C_INCLUDE_DIRS := $(ue_libupdate_engine_exported_c_includes)
223LOCAL_CFLAGS := $(ue_common_cflags)
224LOCAL_CPPFLAGS := $(ue_common_cppflags)
225LOCAL_LDFLAGS := $(ue_common_ldflags)
226LOCAL_C_INCLUDES := \
227 $(ue_common_c_includes) \
Alex Deymob09305e2015-12-02 16:09:13 -0300228 $(ue_libupdate_engine_exported_c_includes)
Alex Deymoc372ab62015-10-29 00:43:26 -0700229LOCAL_STATIC_LIBRARIES := \
Alex Deymo39910dc2015-11-09 17:04:30 -0800230 libpayload_consumer \
Alex Deymoc372ab62015-10-29 00:43:26 -0700231 update_metadata-protos \
232 update_engine-dbus-adaptor \
233 update_engine-dbus-libcros-client \
234 update_engine_client-dbus-proxies \
235 $(ue_libupdate_engine_exported_static_libraries) \
Alex Deymo39910dc2015-11-09 17:04:30 -0800236 $(ue_libpayload_consumer_exported_static_libraries) \
Alex Deymoc372ab62015-10-29 00:43:26 -0700237 $(ue_update_metadata_protos_exported_static_libraries)
238LOCAL_SHARED_LIBRARIES := \
239 $(ue_common_shared_libraries) \
240 $(ue_libupdate_engine_exported_shared_libraries) \
Alex Deymo39910dc2015-11-09 17:04:30 -0800241 $(ue_libpayload_consumer_exported_shared_libraries) \
Alex Deymoc372ab62015-10-29 00:43:26 -0700242 $(ue_update_metadata_protos_exported_shared_libraries)
Alex Deymod5561a52015-09-03 23:17:52 -0700243LOCAL_SRC_FILES := \
Alex Deymo1b03f9f2015-12-09 00:38:36 -0800244 boot_control_android.cc \
Alex Deymod5561a52015-09-03 23:17:52 -0700245 chrome_browser_proxy_resolver.cc \
Alex Deymod5561a52015-09-03 23:17:52 -0700246 connection_manager.cc \
Alex Deymod5561a52015-09-03 23:17:52 -0700247 daemon.cc \
248 dbus_service.cc \
Alex Deymo1b03f9f2015-12-09 00:38:36 -0800249 hardware_android.cc \
Alex Deymo85616652015-10-15 18:48:31 -0700250 image_properties_android.cc \
Alex Deymod5561a52015-09-03 23:17:52 -0700251 libcros_proxy.cc \
Alex Deymod5561a52015-09-03 23:17:52 -0700252 metrics.cc \
Alex Deymo38429cf2015-11-11 18:27:22 -0800253 metrics_utils.cc \
Alex Deymod5561a52015-09-03 23:17:52 -0700254 omaha_request_action.cc \
255 omaha_request_params.cc \
256 omaha_response_handler_action.cc \
257 p2p_manager.cc \
Alex Deymod5561a52015-09-03 23:17:52 -0700258 payload_state.cc \
Alex Deymod5561a52015-09-03 23:17:52 -0700259 proxy_resolver.cc \
260 real_system_state.cc \
261 shill_proxy.cc \
Alex Deymod5561a52015-09-03 23:17:52 -0700262 update_attempter.cc \
263 update_manager/boxed_value.cc \
264 update_manager/chromeos_policy.cc \
265 update_manager/default_policy.cc \
266 update_manager/evaluation_context.cc \
267 update_manager/policy.cc \
268 update_manager/real_config_provider.cc \
269 update_manager/real_device_policy_provider.cc \
270 update_manager/real_random_provider.cc \
271 update_manager/real_shill_provider.cc \
272 update_manager/real_system_provider.cc \
273 update_manager/real_time_provider.cc \
274 update_manager/real_updater_provider.cc \
275 update_manager/state_factory.cc \
276 update_manager/update_manager.cc \
Alex Deymo39910dc2015-11-09 17:04:30 -0800277 update_status_utils.cc
Alex Deymod5561a52015-09-03 23:17:52 -0700278include $(BUILD_STATIC_LIBRARY)
279
Alex Deymocd60dca2015-11-18 00:57:20 -0300280endif # BRILLO_USE_DBUS == 1
Alex Deymo4218b7e2015-11-17 21:14:42 -0300281
Alex Deymod5561a52015-09-03 23:17:52 -0700282# update_engine (type: executable)
283# ========================================================
284# update_engine daemon.
285include $(CLEAR_VARS)
286LOCAL_MODULE := update_engine
287LOCAL_MODULE_CLASS := EXECUTABLES
Sen Jiang56092772015-11-23 14:41:00 -0800288LOCAL_REQUIRED_MODULES := \
Alex Deymoab494462015-11-30 17:07:36 -0300289 bspatch \
290 cacerts_google
Alex Deymoc372ab62015-10-29 00:43:26 -0700291LOCAL_CPP_EXTENSION := .cc
Alex Deymoc372ab62015-10-29 00:43:26 -0700292LOCAL_CLANG := true
293LOCAL_CFLAGS := $(ue_common_cflags)
294LOCAL_CPPFLAGS := $(ue_common_cppflags)
295LOCAL_LDFLAGS := $(ue_common_ldflags)
296LOCAL_C_INCLUDES := \
Alex Deymo4218b7e2015-11-17 21:14:42 -0300297 $(ue_common_c_includes)
298
299ifdef BRILLO
300
301LOCAL_C_INCLUDES += \
Alex Deymoc372ab62015-10-29 00:43:26 -0700302 $(ue_libupdate_engine_exported_c_includes)
303LOCAL_STATIC_LIBRARIES := \
Alex Deymod5561a52015-09-03 23:17:52 -0700304 libupdate_engine \
Alex Deymoc372ab62015-10-29 00:43:26 -0700305 $(ue_libupdate_engine_exported_static_libraries)
Christopher Wiley9e1eda92015-11-16 15:23:37 -0800306
Christopher Wiley9e1eda92015-11-16 15:23:37 -0800307LOCAL_RTTI_FLAG := -frtti
Alex Deymoc372ab62015-10-29 00:43:26 -0700308LOCAL_SHARED_LIBRARIES := \
309 $(ue_common_shared_libraries) \
310 $(ue_libupdate_engine_exported_shared_libraries)
Alex Deymod5561a52015-09-03 23:17:52 -0700311LOCAL_SRC_FILES := \
312 main.cc
Christopher Wiley9e1eda92015-11-16 15:23:37 -0800313
314else # !defined(BRILLO)
315
316LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder_bindings
317LOCAL_SHARED_LIBRARIES := \
318 libbinder \
319 liblog \
320 libutils
321LOCAL_SRC_FILES := \
322 binder_bindings/android/os/IUpdateEngine.aidl \
323 binder_bindings/android/os/IUpdateEnginePayloadApplicationCallback.aidl \
324 binder_main.cc \
325 binder_service.cc
326
327endif # defined(BRILLO)
328
Gilad Arnold70141f22015-09-17 09:06:30 -0700329LOCAL_INIT_RC := update_engine.rc
Alex Deymod5561a52015-09-03 23:17:52 -0700330include $(BUILD_EXECUTABLE)
331
Alex Deymo4218b7e2015-11-17 21:14:42 -0300332ifeq ($(BRILLO_USE_DBUS),1)
333
Alex Deymod5561a52015-09-03 23:17:52 -0700334# update_engine_client (type: executable)
335# ========================================================
336# update_engine console client.
337include $(CLEAR_VARS)
338LOCAL_MODULE := update_engine_client
339LOCAL_MODULE_CLASS := EXECUTABLES
Alex Deymoc372ab62015-10-29 00:43:26 -0700340LOCAL_CPP_EXTENSION := .cc
341LOCAL_RTTI_FLAG := -frtti
342LOCAL_CLANG := true
343LOCAL_CFLAGS := $(ue_common_cflags)
344LOCAL_CPPFLAGS := $(ue_common_cppflags)
345LOCAL_LDFLAGS := $(ue_common_ldflags)
346LOCAL_C_INCLUDES := \
347 $(ue_common_c_includes) \
Alex Deymod5561a52015-09-03 23:17:52 -0700348 $(LOCAL_PATH)/include
Alex Deymoc372ab62015-10-29 00:43:26 -0700349LOCAL_STATIC_LIBRARIES := update_engine_client-dbus-proxies
350LOCAL_SHARED_LIBRARIES := $(ue_common_shared_libraries)
Alex Deymod5561a52015-09-03 23:17:52 -0700351LOCAL_SRC_FILES := \
352 update_engine_client.cc
Alex Deymod5561a52015-09-03 23:17:52 -0700353include $(BUILD_EXECUTABLE)
354
Alex Deymo4218b7e2015-11-17 21:14:42 -0300355endif # BRILLO_USE_DBUS == 1
356
Alex Deymod5561a52015-09-03 23:17:52 -0700357# libpayload_generator (type: static_library)
358# ========================================================
359# server-side code. This is used for delta_generator and unittests but not
360# for any client code.
Alex Deymoc372ab62015-10-29 00:43:26 -0700361ue_libpayload_generator_exported_static_libraries := \
Alex Deymob09305e2015-12-02 16:09:13 -0300362 libpayload_consumer \
Alex Deymoc372ab62015-10-29 00:43:26 -0700363 update_metadata-protos \
Alex Deymob09305e2015-12-02 16:09:13 -0300364 $(ue_libpayload_consumer_exported_static_libraries) \
Alex Deymoc372ab62015-10-29 00:43:26 -0700365 $(ue_update_metadata_protos_exported_static_libraries)
366ue_libpayload_generator_exported_shared_libraries := \
367 libext2fs \
Alex Deymob09305e2015-12-02 16:09:13 -0300368 $(ue_libpayload_consumer_exported_shared_libraries) \
Alex Deymoc372ab62015-10-29 00:43:26 -0700369 $(ue_update_metadata_protos_exported_shared_libraries)
370
Alex Deymod5561a52015-09-03 23:17:52 -0700371include $(CLEAR_VARS)
372LOCAL_MODULE := libpayload_generator
373LOCAL_MODULE_CLASS := STATIC_LIBRARIES
Alex Deymoc372ab62015-10-29 00:43:26 -0700374LOCAL_CPP_EXTENSION := .cc
375LOCAL_RTTI_FLAG := -frtti
376LOCAL_CLANG := true
Alex Deymoc372ab62015-10-29 00:43:26 -0700377LOCAL_CFLAGS := $(ue_common_cflags)
378LOCAL_CPPFLAGS := $(ue_common_cppflags)
379LOCAL_LDFLAGS := $(ue_common_ldflags)
Alex Deymob09305e2015-12-02 16:09:13 -0300380LOCAL_C_INCLUDES := $(ue_common_c_includes)
Alex Deymoc372ab62015-10-29 00:43:26 -0700381LOCAL_STATIC_LIBRARIES := \
Alex Deymob09305e2015-12-02 16:09:13 -0300382 libpayload_consumer \
Alex Deymod5561a52015-09-03 23:17:52 -0700383 update_metadata-protos \
Alex Deymob09305e2015-12-02 16:09:13 -0300384 $(ue_libpayload_consumer_exported_static_libraries) \
Alex Deymoc372ab62015-10-29 00:43:26 -0700385 $(ue_update_metadata_protos_exported_static_libraries)
386LOCAL_SHARED_LIBRARIES := \
387 $(ue_common_shared_libraries) \
388 $(ue_libpayload_generator_exported_shared_libraries) \
Alex Deymob09305e2015-12-02 16:09:13 -0300389 $(ue_libpayload_consumer_exported_shared_libraries) \
Alex Deymoc372ab62015-10-29 00:43:26 -0700390 $(ue_update_metadata_protos_exported_shared_libraries)
Alex Deymod5561a52015-09-03 23:17:52 -0700391LOCAL_SRC_FILES := \
392 payload_generator/ab_generator.cc \
393 payload_generator/annotated_operation.cc \
394 payload_generator/blob_file_writer.cc \
395 payload_generator/block_mapping.cc \
Alex Deymo0bc26112015-10-19 20:54:57 -0700396 payload_generator/bzip.cc \
Alex Deymod5561a52015-09-03 23:17:52 -0700397 payload_generator/cycle_breaker.cc \
398 payload_generator/delta_diff_generator.cc \
399 payload_generator/delta_diff_utils.cc \
400 payload_generator/ext2_filesystem.cc \
401 payload_generator/extent_ranges.cc \
402 payload_generator/extent_utils.cc \
403 payload_generator/full_update_generator.cc \
404 payload_generator/graph_types.cc \
405 payload_generator/graph_utils.cc \
406 payload_generator/inplace_generator.cc \
407 payload_generator/payload_file.cc \
408 payload_generator/payload_generation_config.cc \
409 payload_generator/payload_signer.cc \
410 payload_generator/raw_filesystem.cc \
411 payload_generator/tarjan.cc \
412 payload_generator/topological_sort.cc
Alex Deymod5561a52015-09-03 23:17:52 -0700413include $(BUILD_STATIC_LIBRARY)
414
415# delta_generator (type: executable)
416# ========================================================
417# server-side delta generator.
418include $(CLEAR_VARS)
419LOCAL_MODULE := delta_generator
420LOCAL_MODULE_CLASS := EXECUTABLES
Alex Deymoc372ab62015-10-29 00:43:26 -0700421LOCAL_CPP_EXTENSION := .cc
422LOCAL_RTTI_FLAG := -frtti
423LOCAL_CLANG := true
424LOCAL_CFLAGS := $(ue_common_cflags)
425LOCAL_CPPFLAGS := $(ue_common_cppflags)
426LOCAL_LDFLAGS := $(ue_common_ldflags)
Alex Deymob09305e2015-12-02 16:09:13 -0300427LOCAL_C_INCLUDES := $(ue_common_c_includes)
Alex Deymoc372ab62015-10-29 00:43:26 -0700428LOCAL_STATIC_LIBRARIES := \
Alex Deymob09305e2015-12-02 16:09:13 -0300429 libpayload_consumer \
Alex Deymoc372ab62015-10-29 00:43:26 -0700430 libpayload_generator \
Alex Deymob09305e2015-12-02 16:09:13 -0300431 $(ue_libpayload_consumer_exported_static_libraries) \
Alex Deymoc372ab62015-10-29 00:43:26 -0700432 $(ue_libpayload_generator_exported_static_libraries)
433LOCAL_SHARED_LIBRARIES := \
434 $(ue_common_shared_libraries) \
Alex Deymob09305e2015-12-02 16:09:13 -0300435 $(ue_libpayload_consumer_exported_shared_libraries) \
Alex Deymoc372ab62015-10-29 00:43:26 -0700436 $(ue_libpayload_generator_exported_shared_libraries)
Alex Deymod5561a52015-09-03 23:17:52 -0700437LOCAL_SRC_FILES := \
438 payload_generator/generate_delta_main.cc
Alex Deymod5561a52015-09-03 23:17:52 -0700439include $(BUILD_EXECUTABLE)
440
Alex Deymo4218b7e2015-11-17 21:14:42 -0300441ifeq ($(BRILLO_USE_DBUS),1)
442
Christopher Wiley16daa082015-10-01 17:18:40 -0700443# libupdate_engine_client
444# ========================================================
445include $(CLEAR_VARS)
446LOCAL_MODULE := libupdate_engine_client
447LOCAL_RTTI_FLAG := -frtti
448LOCAL_CFLAGS := \
449 -Wall \
450 -Werror \
451 -Wno-unused-parameter
452LOCAL_CLANG := true
453LOCAL_CPP_EXTENSION := .cc
454LOCAL_C_INCLUDES := \
455 $(LOCAL_PATH)/client_library/include \
456 external/cros/system_api/dbus \
457 system \
458 external/gtest/include
459LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/client_library/include
460LOCAL_SHARED_LIBRARIES := \
461 libchrome \
462 libchrome-dbus \
Alex Vakulenko1bab5a82015-10-27 11:47:28 -0700463 libbrillo \
464 libbrillo-dbus
Christopher Wiley16daa082015-10-01 17:18:40 -0700465LOCAL_STATIC_LIBRARIES := \
466 update_engine_client-dbus-proxies
467LOCAL_SRC_FILES := \
468 client_library/client.cc \
469 client_library/client_impl.cc \
470 update_status_utils.cc
471include $(BUILD_SHARED_LIBRARY)
472
Alex Deymo4218b7e2015-11-17 21:14:42 -0300473endif # BRILLO_USE_DBUS == 1
Gaurav Shah263614f2015-09-24 14:20:38 -0700474
475# Update payload signing public key.
476# ========================================================
477include $(CLEAR_VARS)
478LOCAL_MODULE := brillo-update-payload-key
479LOCAL_MODULE_CLASS := ETC
480LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/update_engine
481LOCAL_MODULE_STEM := update-payload-key.pub.pem
482LOCAL_SRC_FILES := update_payload_key/brillo-update-payload-key.pub.pem
483LOCAL_BUILT_MODULE_STEM := update_payload_key/brillo-update-payload-key.pub.pem
484include $(BUILD_PREBUILT)