1# 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 19# Default values for the USE flags. Override these USE flags from your product 20# by setting BRILLO_USE_* values. Note that we define local variables like 21# local_use_* to prevent leaking our default setting for other packages. 22local_use_binder := $(if $(BRILLO_USE_BINDER),$(BRILLO_USE_BINDER),1) 23local_use_hwid_override := \ 24 $(if $(BRILLO_USE_HWID_OVERRIDE),$(BRILLO_USE_HWID_OVERRIDE),0) 25# "libcros" gates the LibCrosService exposed by the Chrome OS' chrome browser to 26# the system layer. 27local_use_libcros := $(if $(BRILLO_USE_LIBCROS),$(BRILLO_USE_LIBCROS),0) 28local_use_mtd := $(if $(BRILLO_USE_MTD),$(BRILLO_USE_MTD),0) 29local_use_weave := $(if $(BRILLO_USE_WEAVE),$(BRILLO_USE_WEAVE),0) 30 31# IoT devices use Omaha for updates. 32local_use_omaha := $(if $(filter true,$(PRODUCT_IOT)),1,0) 33 34ue_common_cflags := \ 35 -DUSE_BINDER=$(local_use_binder) \ 36 -DUSE_HWID_OVERRIDE=$(local_use_hwid_override) \ 37 -DUSE_LIBCROS=$(local_use_libcros) \ 38 -DUSE_MTD=$(local_use_mtd) \ 39 -DUSE_OMAHA=$(local_use_omaha) \ 40 -DUSE_WEAVE=$(local_use_weave) \ 41 -D_FILE_OFFSET_BITS=64 \ 42 -D_POSIX_C_SOURCE=199309L \ 43 -Wa,--noexecstack \ 44 -Wall \ 45 -Werror \ 46 -Wextra \ 47 -Wformat=2 \ 48 -Wno-psabi \ 49 -Wno-unused-parameter \ 50 -ffunction-sections \ 51 -fstack-protector-strong \ 52 -fvisibility=hidden 53ue_common_cppflags := \ 54 -Wnon-virtual-dtor \ 55 -fno-strict-aliasing 56ue_common_ldflags := \ 57 -Wl,--gc-sections 58ue_common_c_includes := \ 59 $(LOCAL_PATH)/client_library/include \ 60 system 61ue_common_shared_libraries := \ 62 libbrillo-stream \ 63 libbrillo \ 64 libchrome 65ue_common_static_libraries := \ 66 libgtest_prod \ 67 68# update_metadata-protos (type: static_library) 69# ======================================================== 70# Protobufs. 71ue_update_metadata_protos_exported_static_libraries := \ 72 update_metadata-protos 73ue_update_metadata_protos_exported_shared_libraries := \ 74 libprotobuf-cpp-lite 75 76ue_update_metadata_protos_src_files := \ 77 update_metadata.proto 78 79# Build for the host. 80include $(CLEAR_VARS) 81LOCAL_MODULE := update_metadata-protos 82LOCAL_MODULE_CLASS := STATIC_LIBRARIES 83LOCAL_IS_HOST_MODULE := true 84generated_sources_dir := $(call local-generated-sources-dir) 85LOCAL_EXPORT_C_INCLUDE_DIRS := $(generated_sources_dir)/proto/system 86LOCAL_SRC_FILES := $(ue_update_metadata_protos_src_files) 87include $(BUILD_HOST_STATIC_LIBRARY) 88 89# Build for the target. 90include $(CLEAR_VARS) 91LOCAL_MODULE := update_metadata-protos 92LOCAL_MODULE_CLASS := STATIC_LIBRARIES 93generated_sources_dir := $(call local-generated-sources-dir) 94LOCAL_EXPORT_C_INCLUDE_DIRS := $(generated_sources_dir)/proto/system 95LOCAL_SRC_FILES := $(ue_update_metadata_protos_src_files) 96include $(BUILD_STATIC_LIBRARY) 97 98# libpayload_consumer (type: static_library) 99# ======================================================== 100# The payload application component and common dependencies. 101ue_libpayload_consumer_exported_static_libraries := \ 102 update_metadata-protos \ 103 libxz-host \ 104 libbz \ 105 libimgpatch \ 106 libbspatch \ 107 libz \ 108 $(ue_update_metadata_protos_exported_static_libraries) 109ue_libpayload_consumer_exported_shared_libraries := \ 110 libcrypto \ 111 $(ue_update_metadata_protos_exported_shared_libraries) 112 113ue_libpayload_consumer_src_files := \ 114 common/action_processor.cc \ 115 common/boot_control_stub.cc \ 116 common/clock.cc \ 117 common/constants.cc \ 118 common/cpu_limiter.cc \ 119 common/error_code_utils.cc \ 120 common/file_fetcher.cc \ 121 common/hash_calculator.cc \ 122 common/http_common.cc \ 123 common/http_fetcher.cc \ 124 common/hwid_override.cc \ 125 common/multi_range_http_fetcher.cc \ 126 common/platform_constants_android.cc \ 127 common/prefs.cc \ 128 common/subprocess.cc \ 129 common/terminator.cc \ 130 common/utils.cc \ 131 payload_consumer/bzip_extent_writer.cc \ 132 payload_consumer/delta_performer.cc \ 133 payload_consumer/download_action.cc \ 134 payload_consumer/extent_writer.cc \ 135 payload_consumer/file_descriptor.cc \ 136 payload_consumer/file_writer.cc \ 137 payload_consumer/filesystem_verifier_action.cc \ 138 payload_consumer/install_plan.cc \ 139 payload_consumer/payload_constants.cc \ 140 payload_consumer/payload_verifier.cc \ 141 payload_consumer/postinstall_runner_action.cc \ 142 payload_consumer/xz_extent_writer.cc 143 144ifeq ($(HOST_OS),linux) 145# Build for the host. 146include $(CLEAR_VARS) 147LOCAL_MODULE := libpayload_consumer 148LOCAL_MODULE_CLASS := STATIC_LIBRARIES 149LOCAL_CPP_EXTENSION := .cc 150LOCAL_CLANG := true 151LOCAL_CFLAGS := $(ue_common_cflags) 152LOCAL_CPPFLAGS := $(ue_common_cppflags) 153LOCAL_LDFLAGS := $(ue_common_ldflags) 154LOCAL_C_INCLUDES := \ 155 $(ue_common_c_includes) 156LOCAL_STATIC_LIBRARIES := \ 157 update_metadata-protos \ 158 $(ue_common_static_libraries) \ 159 $(ue_libpayload_consumer_exported_static_libraries) \ 160 $(ue_update_metadata_protos_exported_static_libraries) 161LOCAL_SHARED_LIBRARIES := \ 162 $(ue_common_shared_libraries) \ 163 $(ue_libpayload_consumer_exported_shared_libraries) \ 164 $(ue_update_metadata_protos_exported_shared_libraries) 165LOCAL_SRC_FILES := $(ue_libpayload_consumer_src_files) 166include $(BUILD_HOST_STATIC_LIBRARY) 167endif # HOST_OS == linux 168 169# Build for the target. 170include $(CLEAR_VARS) 171LOCAL_MODULE := libpayload_consumer 172LOCAL_MODULE_CLASS := STATIC_LIBRARIES 173LOCAL_CPP_EXTENSION := .cc 174LOCAL_CLANG := true 175LOCAL_CFLAGS := $(ue_common_cflags) 176LOCAL_CPPFLAGS := $(ue_common_cppflags) 177LOCAL_LDFLAGS := $(ue_common_ldflags) 178LOCAL_C_INCLUDES := \ 179 $(ue_common_c_includes) 180LOCAL_STATIC_LIBRARIES := \ 181 update_metadata-protos \ 182 $(ue_common_static_libraries) \ 183 $(ue_libpayload_consumer_exported_static_libraries:-host=) \ 184 $(ue_update_metadata_protos_exported_static_libraries) 185LOCAL_SHARED_LIBRARIES := \ 186 $(ue_common_shared_libraries) \ 187 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 188 $(ue_update_metadata_protos_exported_shared_libraries) 189LOCAL_SRC_FILES := $(ue_libpayload_consumer_src_files) 190include $(BUILD_STATIC_LIBRARY) 191 192# libupdate_engine_boot_control (type: static_library) 193# ======================================================== 194# A BootControl class implementation using Android's HIDL boot_control HAL. 195ue_libupdate_engine_boot_control_exported_static_libraries := \ 196 update_metadata-protos \ 197 $(ue_update_metadata_protos_exported_static_libraries) 198 199ue_libupdate_engine_boot_control_exported_shared_libraries := \ 200 libhwbinder \ 201 libhidlbase \ 202 libutils \ 203 android.hardware.boot@1.0 \ 204 $(ue_update_metadata_protos_exported_shared_libraries) 205 206include $(CLEAR_VARS) 207LOCAL_MODULE := libupdate_engine_boot_control 208LOCAL_MODULE_CLASS := STATIC_LIBRARIES 209LOCAL_CPP_EXTENSION := .cc 210LOCAL_CLANG := true 211LOCAL_CFLAGS := $(ue_common_cflags) 212LOCAL_CPPFLAGS := $(ue_common_cppflags) 213LOCAL_LDFLAGS := $(ue_common_ldflags) 214LOCAL_C_INCLUDES := \ 215 $(ue_common_c_includes) \ 216 bootable/recovery 217LOCAL_STATIC_LIBRARIES := \ 218 $(ue_common_static_libraries) \ 219 $(ue_libupdate_engine_boot_control_exported_static_libraries) 220LOCAL_SHARED_LIBRARIES := \ 221 $(ue_common_shared_libraries) \ 222 $(ue_libupdate_engine_boot_control_exported_shared_libraries) 223LOCAL_SRC_FILES := \ 224 boot_control_android.cc 225include $(BUILD_STATIC_LIBRARY) 226 227ifeq ($(local_use_omaha),1) 228 229# libupdate_engine (type: static_library) 230# ======================================================== 231# The main daemon static_library with all the code used to check for updates 232# with Omaha and expose a DBus daemon. 233ue_libupdate_engine_exported_c_includes := \ 234 external/cros/system_api/dbus 235ue_libupdate_engine_exported_static_libraries := \ 236 libpayload_consumer \ 237 update_metadata-protos \ 238 libbz \ 239 libfs_mgr \ 240 libbase \ 241 liblog \ 242 $(ue_libpayload_consumer_exported_static_libraries) \ 243 $(ue_update_metadata_protos_exported_static_libraries) \ 244 libupdate_engine_boot_control \ 245 $(ue_libupdate_engine_boot_control_exported_static_libraries) 246ue_libupdate_engine_exported_shared_libraries := \ 247 libmetrics \ 248 libexpat \ 249 libbrillo-policy \ 250 libcurl \ 251 libcutils \ 252 libssl \ 253 $(ue_libpayload_consumer_exported_shared_libraries) \ 254 $(ue_update_metadata_protos_exported_shared_libraries) \ 255 $(ue_libupdate_engine_boot_control_exported_shared_libraries) 256ifeq ($(local_use_binder),1) 257ue_libupdate_engine_exported_shared_libraries += \ 258 libbinder \ 259 libbinderwrapper \ 260 libbrillo-binder \ 261 libutils 262endif # local_use_binder == 1 263ifeq ($(local_use_weave),1) 264ue_libupdate_engine_exported_shared_libraries += \ 265 libbinderwrapper \ 266 libbrillo-binder \ 267 libweaved 268endif # local_use_weave == 1 269 270include $(CLEAR_VARS) 271LOCAL_MODULE := libupdate_engine 272LOCAL_MODULE_CLASS := STATIC_LIBRARIES 273LOCAL_CPP_EXTENSION := .cc 274LOCAL_CLANG := true 275LOCAL_EXPORT_C_INCLUDE_DIRS := $(ue_libupdate_engine_exported_c_includes) 276LOCAL_CFLAGS := $(ue_common_cflags) 277LOCAL_CPPFLAGS := $(ue_common_cppflags) 278LOCAL_LDFLAGS := $(ue_common_ldflags) 279LOCAL_C_INCLUDES := \ 280 $(ue_common_c_includes) \ 281 $(ue_libupdate_engine_exported_c_includes) \ 282 bootable/recovery 283LOCAL_STATIC_LIBRARIES := \ 284 libpayload_consumer \ 285 update_metadata-protos \ 286 $(ue_common_static_libraries) \ 287 $(ue_libupdate_engine_exported_static_libraries:-host=) \ 288 $(ue_libpayload_consumer_exported_static_libraries:-host=) \ 289 $(ue_update_metadata_protos_exported_static_libraries) 290LOCAL_SHARED_LIBRARIES := \ 291 $(ue_common_shared_libraries) \ 292 $(ue_libupdate_engine_exported_shared_libraries:-host=) \ 293 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 294 $(ue_update_metadata_protos_exported_shared_libraries) 295LOCAL_SRC_FILES := \ 296 certificate_checker.cc \ 297 common_service.cc \ 298 connection_manager_android.cc \ 299 connection_utils.cc \ 300 daemon.cc \ 301 hardware_android.cc \ 302 image_properties_android.cc \ 303 libcurl_http_fetcher.cc \ 304 metrics.cc \ 305 metrics_utils.cc \ 306 omaha_request_action.cc \ 307 omaha_request_params.cc \ 308 omaha_response_handler_action.cc \ 309 omaha_utils.cc \ 310 p2p_manager.cc \ 311 payload_state.cc \ 312 power_manager_android.cc \ 313 proxy_resolver.cc \ 314 real_system_state.cc \ 315 update_attempter.cc \ 316 update_manager/boxed_value.cc \ 317 update_manager/chromeos_policy.cc \ 318 update_manager/default_policy.cc \ 319 update_manager/evaluation_context.cc \ 320 update_manager/policy.cc \ 321 update_manager/real_config_provider.cc \ 322 update_manager/real_device_policy_provider.cc \ 323 update_manager/real_random_provider.cc \ 324 update_manager/real_system_provider.cc \ 325 update_manager/real_time_provider.cc \ 326 update_manager/real_updater_provider.cc \ 327 update_manager/state_factory.cc \ 328 update_manager/update_manager.cc \ 329 update_status_utils.cc \ 330 utils_android.cc \ 331 weave_service_factory.cc 332ifeq ($(local_use_binder),1) 333LOCAL_AIDL_INCLUDES += $(LOCAL_PATH)/binder_bindings 334LOCAL_SRC_FILES += \ 335 binder_bindings/android/brillo/IUpdateEngine.aidl \ 336 binder_bindings/android/brillo/IUpdateEngineStatusCallback.aidl \ 337 binder_service_brillo.cc \ 338 parcelable_update_engine_status.cc 339endif # local_use_binder == 1 340ifeq ($(local_use_weave),1) 341LOCAL_SRC_FILES += \ 342 weave_service.cc 343endif # local_use_weave == 1 344ifeq ($(local_use_libcros),1) 345LOCAL_SRC_FILES += \ 346 chrome_browser_proxy_resolver.cc 347endif # local_use_libcros == 1 348include $(BUILD_STATIC_LIBRARY) 349 350else # local_use_omaha == 1 351 352ifneq ($(local_use_binder),1) 353$(error USE_BINDER is disabled but is required in non-Brillo devices.) 354endif # local_use_binder == 1 355 356# libupdate_engine_android (type: static_library) 357# ======================================================== 358# The main daemon static_library used in Android (non-Brillo). This only has a 359# loop to apply payloads provided by the upper layer via a Binder interface. 360ue_libupdate_engine_android_exported_static_libraries := \ 361 libpayload_consumer \ 362 libfs_mgr \ 363 libbase \ 364 liblog \ 365 $(ue_libpayload_consumer_exported_static_libraries) \ 366 libupdate_engine_boot_control \ 367 $(ue_libupdate_engine_boot_control_exported_static_libraries) 368ue_libupdate_engine_android_exported_shared_libraries := \ 369 $(ue_libpayload_consumer_exported_shared_libraries) \ 370 $(ue_libupdate_engine_boot_control_exported_shared_libraries) \ 371 libandroid_net \ 372 libbinder \ 373 libbinderwrapper \ 374 libbrillo-binder \ 375 libcutils \ 376 libcurl \ 377 libssl \ 378 libutils 379 380include $(CLEAR_VARS) 381LOCAL_MODULE := libupdate_engine_android 382LOCAL_MODULE_CLASS := STATIC_LIBRARIES 383LOCAL_CPP_EXTENSION := .cc 384LOCAL_CLANG := true 385LOCAL_CFLAGS := $(ue_common_cflags) 386LOCAL_CPPFLAGS := $(ue_common_cppflags) 387LOCAL_LDFLAGS := $(ue_common_ldflags) 388LOCAL_C_INCLUDES := \ 389 $(ue_common_c_includes) \ 390 bootable/recovery 391#TODO(deymo): Remove external/cros/system_api/dbus once the strings are moved 392# out of the DBus interface. 393LOCAL_C_INCLUDES += \ 394 external/cros/system_api/dbus 395LOCAL_STATIC_LIBRARIES := \ 396 $(ue_common_static_libraries) \ 397 $(ue_libupdate_engine_android_exported_static_libraries:-host=) 398LOCAL_SHARED_LIBRARIES += \ 399 $(ue_common_shared_libraries) \ 400 $(ue_libupdate_engine_android_exported_shared_libraries:-host=) 401LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder_bindings 402LOCAL_SRC_FILES += \ 403 binder_bindings/android/os/IUpdateEngine.aidl \ 404 binder_bindings/android/os/IUpdateEngineCallback.aidl \ 405 binder_service_android.cc \ 406 certificate_checker.cc \ 407 daemon.cc \ 408 daemon_state_android.cc \ 409 hardware_android.cc \ 410 libcurl_http_fetcher.cc \ 411 network_selector_android.cc \ 412 proxy_resolver.cc \ 413 update_attempter_android.cc \ 414 update_status_utils.cc \ 415 utils_android.cc 416include $(BUILD_STATIC_LIBRARY) 417 418endif # local_use_omaha == 1 419 420# update_engine (type: executable) 421# ======================================================== 422# update_engine daemon. 423include $(CLEAR_VARS) 424LOCAL_MODULE := update_engine 425LOCAL_MODULE_CLASS := EXECUTABLES 426LOCAL_REQUIRED_MODULES := \ 427 cacerts_google 428ifeq ($(local_use_weave),1) 429LOCAL_REQUIRED_MODULES += updater.json 430endif # local_use_weave == 1 431LOCAL_CPP_EXTENSION := .cc 432LOCAL_CLANG := true 433LOCAL_CFLAGS := $(ue_common_cflags) 434LOCAL_CPPFLAGS := $(ue_common_cppflags) 435LOCAL_LDFLAGS := $(ue_common_ldflags) 436LOCAL_C_INCLUDES := \ 437 $(ue_common_c_includes) 438LOCAL_SHARED_LIBRARIES := \ 439 $(ue_common_shared_libraries) 440LOCAL_STATIC_LIBRARIES := \ 441 $(ue_common_static_libraries) 442LOCAL_SRC_FILES := \ 443 main.cc 444 445ifeq ($(local_use_omaha),1) 446LOCAL_C_INCLUDES += \ 447 $(ue_libupdate_engine_exported_c_includes) 448LOCAL_STATIC_LIBRARIES += \ 449 libupdate_engine \ 450 $(ue_libupdate_engine_exported_static_libraries:-host=) 451LOCAL_SHARED_LIBRARIES += \ 452 $(ue_libupdate_engine_exported_shared_libraries:-host=) 453else # local_use_omaha == 1 454LOCAL_STATIC_LIBRARIES += \ 455 libupdate_engine_android \ 456 $(ue_libupdate_engine_android_exported_static_libraries:-host=) 457LOCAL_SHARED_LIBRARIES += \ 458 $(ue_libupdate_engine_android_exported_shared_libraries:-host=) 459endif # local_use_omaha == 1 460 461LOCAL_INIT_RC := update_engine.rc 462include $(BUILD_EXECUTABLE) 463 464# update_engine_sideload (type: executable) 465# ======================================================== 466# A static binary equivalent to update_engine daemon that installs an update 467# from a local file directly instead of running in the background. 468include $(CLEAR_VARS) 469LOCAL_MODULE := update_engine_sideload 470LOCAL_FORCE_STATIC_EXECUTABLE := true 471LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin 472LOCAL_MODULE_CLASS := EXECUTABLES 473LOCAL_CPP_EXTENSION := .cc 474LOCAL_CLANG := true 475LOCAL_CFLAGS := \ 476 $(ue_common_cflags) \ 477 -D_UE_SIDELOAD 478LOCAL_CPPFLAGS := $(ue_common_cppflags) 479LOCAL_LDFLAGS := $(ue_common_ldflags) 480LOCAL_C_INCLUDES := \ 481 $(ue_common_c_includes) \ 482 bootable/recovery 483#TODO(deymo): Remove external/cros/system_api/dbus once the strings are moved 484# out of the DBus interface. 485LOCAL_C_INCLUDES += \ 486 external/cros/system_api/dbus 487LOCAL_SRC_FILES := \ 488 boot_control_recovery.cc \ 489 hardware_android.cc \ 490 network_selector_stub.cc \ 491 proxy_resolver.cc \ 492 sideload_main.cc \ 493 update_attempter_android.cc \ 494 update_status_utils.cc \ 495 utils_android.cc 496LOCAL_STATIC_LIBRARIES := \ 497 libfs_mgr \ 498 libbase \ 499 liblog \ 500 libpayload_consumer \ 501 update_metadata-protos \ 502 $(ue_common_static_libraries) \ 503 $(ue_libpayload_consumer_exported_static_libraries:-host=) \ 504 $(ue_update_metadata_protos_exported_static_libraries) 505# We add the static versions of the shared libraries since we are forcing this 506# binary to be a static binary, so we also need to include all the static 507# library dependencies of these static libraries. 508LOCAL_STATIC_LIBRARIES += \ 509 $(ue_common_shared_libraries) \ 510 libcutils \ 511 liblog \ 512 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 513 $(ue_update_metadata_protos_exported_shared_libraries) \ 514 libevent \ 515 libmodpb64 \ 516 libgtest_prod 517 518ifeq ($(strip $(PRODUCT_STATIC_BOOT_CONTROL_HAL)),) 519# No static boot_control HAL defined, so no sideload support. We use a fake 520# boot_control HAL to allow compiling update_engine_sideload for test purposes. 521ifeq ($(strip $(AB_OTA_UPDATER)),true) 522$(warning No PRODUCT_STATIC_BOOT_CONTROL_HAL configured but AB_OTA_UPDATER is \ 523true, no update sideload support.) 524endif # AB_OTA_UPDATER == true 525LOCAL_SRC_FILES += \ 526 boot_control_recovery_stub.cc 527else # PRODUCT_STATIC_BOOT_CONTROL_HAL != "" 528LOCAL_STATIC_LIBRARIES += \ 529 $(PRODUCT_STATIC_BOOT_CONTROL_HAL) 530endif # PRODUCT_STATIC_BOOT_CONTROL_HAL != "" 531 532include $(BUILD_EXECUTABLE) 533 534# libupdate_engine_client (type: shared_library) 535# ======================================================== 536include $(CLEAR_VARS) 537LOCAL_MODULE := libupdate_engine_client 538LOCAL_CFLAGS := \ 539 -Wall \ 540 -Werror \ 541 -Wno-unused-parameter \ 542 -DUSE_BINDER=$(local_use_binder) 543LOCAL_CLANG := true 544LOCAL_CPP_EXTENSION := .cc 545# TODO(deymo): Remove "external/cros/system_api/dbus" when dbus is not used. 546LOCAL_C_INCLUDES := \ 547 $(LOCAL_PATH)/client_library/include \ 548 external/cros/system_api/dbus \ 549 system 550LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/client_library/include 551LOCAL_SHARED_LIBRARIES := \ 552 libchrome \ 553 libbrillo 554LOCAL_SRC_FILES := \ 555 client_library/client.cc \ 556 update_status_utils.cc 557 558# We only support binder IPC mechanism in Android. 559ifeq ($(local_use_binder),1) 560LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder_bindings 561LOCAL_SHARED_LIBRARIES += \ 562 libbinder \ 563 libbrillo-binder \ 564 libutils 565LOCAL_SRC_FILES += \ 566 binder_bindings/android/brillo/IUpdateEngine.aidl \ 567 binder_bindings/android/brillo/IUpdateEngineStatusCallback.aidl \ 568 client_library/client_binder.cc \ 569 parcelable_update_engine_status.cc 570endif # local_use_binder == 1 571 572include $(BUILD_SHARED_LIBRARY) 573 574# update_engine_client (type: executable) 575# ======================================================== 576# update_engine console client. 577include $(CLEAR_VARS) 578LOCAL_MODULE := update_engine_client 579LOCAL_MODULE_CLASS := EXECUTABLES 580LOCAL_CPP_EXTENSION := .cc 581LOCAL_CLANG := true 582LOCAL_CFLAGS := $(ue_common_cflags) 583LOCAL_CPPFLAGS := $(ue_common_cppflags) 584LOCAL_LDFLAGS := $(ue_common_ldflags) 585LOCAL_C_INCLUDES := $(ue_common_c_includes) 586LOCAL_SHARED_LIBRARIES := $(ue_common_shared_libraries) 587LOCAL_STATIC_LIBRARIES := $(ue_common_static_libraries) 588ifeq ($(local_use_omaha),1) 589LOCAL_SHARED_LIBRARIES += \ 590 libupdate_engine_client 591LOCAL_SRC_FILES := \ 592 update_engine_client.cc \ 593 common/error_code_utils.cc \ 594 omaha_utils.cc 595else # local_use_omaha == 1 596#TODO(deymo): Remove external/cros/system_api/dbus once the strings are moved 597# out of the DBus interface. 598LOCAL_C_INCLUDES += \ 599 external/cros/system_api/dbus 600LOCAL_SHARED_LIBRARIES += \ 601 libbinder \ 602 libbinderwrapper \ 603 libbrillo-binder \ 604 libutils 605LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder_bindings 606LOCAL_SRC_FILES := \ 607 binder_bindings/android/os/IUpdateEngine.aidl \ 608 binder_bindings/android/os/IUpdateEngineCallback.aidl \ 609 common/error_code_utils.cc \ 610 update_engine_client_android.cc \ 611 update_status_utils.cc 612endif # local_use_omaha == 1 613include $(BUILD_EXECUTABLE) 614 615# libpayload_generator (type: static_library) 616# ======================================================== 617# server-side code. This is used for delta_generator and unittests but not 618# for any client code. 619ue_libpayload_generator_exported_static_libraries := \ 620 libpayload_consumer \ 621 update_metadata-protos \ 622 liblzma \ 623 $(ue_libpayload_consumer_exported_static_libraries) \ 624 $(ue_update_metadata_protos_exported_static_libraries) 625ue_libpayload_generator_exported_shared_libraries := \ 626 libext2fs \ 627 $(ue_libpayload_consumer_exported_shared_libraries) \ 628 $(ue_update_metadata_protos_exported_shared_libraries) 629 630ue_libpayload_generator_src_files := \ 631 payload_generator/ab_generator.cc \ 632 payload_generator/annotated_operation.cc \ 633 payload_generator/blob_file_writer.cc \ 634 payload_generator/block_mapping.cc \ 635 payload_generator/bzip.cc \ 636 payload_generator/cycle_breaker.cc \ 637 payload_generator/delta_diff_generator.cc \ 638 payload_generator/delta_diff_utils.cc \ 639 payload_generator/ext2_filesystem.cc \ 640 payload_generator/extent_ranges.cc \ 641 payload_generator/extent_utils.cc \ 642 payload_generator/full_update_generator.cc \ 643 payload_generator/graph_types.cc \ 644 payload_generator/graph_utils.cc \ 645 payload_generator/inplace_generator.cc \ 646 payload_generator/mapfile_filesystem.cc \ 647 payload_generator/payload_file.cc \ 648 payload_generator/payload_generation_config.cc \ 649 payload_generator/payload_signer.cc \ 650 payload_generator/raw_filesystem.cc \ 651 payload_generator/tarjan.cc \ 652 payload_generator/topological_sort.cc \ 653 payload_generator/xz_android.cc 654 655ifeq ($(HOST_OS),linux) 656# Build for the host. 657include $(CLEAR_VARS) 658LOCAL_MODULE := libpayload_generator 659LOCAL_MODULE_CLASS := STATIC_LIBRARIES 660LOCAL_CPP_EXTENSION := .cc 661LOCAL_CLANG := true 662LOCAL_CFLAGS := $(ue_common_cflags) 663LOCAL_CPPFLAGS := $(ue_common_cppflags) 664LOCAL_LDFLAGS := $(ue_common_ldflags) 665LOCAL_C_INCLUDES := $(ue_common_c_includes) 666LOCAL_STATIC_LIBRARIES := \ 667 libpayload_consumer \ 668 update_metadata-protos \ 669 liblzma \ 670 $(ue_common_static_libraries) \ 671 $(ue_libpayload_consumer_exported_static_libraries) \ 672 $(ue_update_metadata_protos_exported_static_libraries) 673LOCAL_SHARED_LIBRARIES := \ 674 $(ue_common_shared_libraries) \ 675 $(ue_libpayload_generator_exported_shared_libraries) \ 676 $(ue_libpayload_consumer_exported_shared_libraries) \ 677 $(ue_update_metadata_protos_exported_shared_libraries) 678LOCAL_SRC_FILES := $(ue_libpayload_generator_src_files) 679include $(BUILD_HOST_STATIC_LIBRARY) 680endif # HOST_OS == linux 681 682# Build for the target. 683include $(CLEAR_VARS) 684LOCAL_MODULE := libpayload_generator 685LOCAL_MODULE_CLASS := STATIC_LIBRARIES 686LOCAL_CPP_EXTENSION := .cc 687LOCAL_CLANG := true 688LOCAL_CFLAGS := $(ue_common_cflags) 689LOCAL_CPPFLAGS := $(ue_common_cppflags) 690LOCAL_LDFLAGS := $(ue_common_ldflags) 691LOCAL_C_INCLUDES := $(ue_common_c_includes) 692LOCAL_STATIC_LIBRARIES := \ 693 libpayload_consumer \ 694 update_metadata-protos \ 695 liblzma \ 696 $(ue_common_static_libraries) \ 697 $(ue_libpayload_consumer_exported_static_libraries:-host=) \ 698 $(ue_update_metadata_protos_exported_static_libraries) 699LOCAL_SHARED_LIBRARIES := \ 700 $(ue_common_shared_libraries) \ 701 $(ue_libpayload_generator_exported_shared_libraries:-host=) \ 702 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 703 $(ue_update_metadata_protos_exported_shared_libraries) 704LOCAL_SRC_FILES := $(ue_libpayload_generator_src_files) 705include $(BUILD_STATIC_LIBRARY) 706 707# delta_generator (type: executable) 708# ======================================================== 709# server-side delta generator. 710ue_delta_generator_src_files := \ 711 payload_generator/generate_delta_main.cc 712 713ifeq ($(HOST_OS),linux) 714# Build for the host. 715include $(CLEAR_VARS) 716LOCAL_MODULE := delta_generator 717LOCAL_REQUIRED_MODULES := \ 718 bsdiff \ 719 imgdiff 720LOCAL_MODULE_CLASS := EXECUTABLES 721LOCAL_CPP_EXTENSION := .cc 722LOCAL_CLANG := true 723LOCAL_CFLAGS := $(ue_common_cflags) 724LOCAL_CPPFLAGS := $(ue_common_cppflags) 725LOCAL_LDFLAGS := $(ue_common_ldflags) 726LOCAL_C_INCLUDES := $(ue_common_c_includes) 727LOCAL_STATIC_LIBRARIES := \ 728 libpayload_consumer \ 729 libpayload_generator \ 730 $(ue_common_static_libraries) \ 731 $(ue_libpayload_consumer_exported_static_libraries) \ 732 $(ue_libpayload_generator_exported_static_libraries) 733LOCAL_SHARED_LIBRARIES := \ 734 $(ue_common_shared_libraries) \ 735 $(ue_libpayload_consumer_exported_shared_libraries) \ 736 $(ue_libpayload_generator_exported_shared_libraries) 737LOCAL_SRC_FILES := $(ue_delta_generator_src_files) 738include $(BUILD_HOST_EXECUTABLE) 739endif # HOST_OS == linux 740 741# Build for the target. 742include $(CLEAR_VARS) 743LOCAL_MODULE := ue_unittest_delta_generator 744LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_NATIVE_TESTS)/update_engine_unittests 745LOCAL_MODULE_STEM := delta_generator 746LOCAL_MODULE_CLASS := EXECUTABLES 747LOCAL_CPP_EXTENSION := .cc 748LOCAL_CLANG := true 749LOCAL_CFLAGS := $(ue_common_cflags) 750LOCAL_CPPFLAGS := $(ue_common_cppflags) 751LOCAL_LDFLAGS := $(ue_common_ldflags) 752LOCAL_C_INCLUDES := $(ue_common_c_includes) 753LOCAL_STATIC_LIBRARIES := \ 754 libpayload_consumer \ 755 libpayload_generator \ 756 $(ue_common_static_libraries) \ 757 $(ue_libpayload_consumer_exported_static_libraries:-host=) \ 758 $(ue_libpayload_generator_exported_static_libraries:-host=) 759LOCAL_SHARED_LIBRARIES := \ 760 $(ue_common_shared_libraries) \ 761 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 762 $(ue_libpayload_generator_exported_shared_libraries:-host=) 763LOCAL_SRC_FILES := $(ue_delta_generator_src_files) 764include $(BUILD_EXECUTABLE) 765 766# Private and public keys for unittests. 767# ======================================================== 768# Generate a module that installs a prebuilt private key and a module that 769# installs a public key generated from the private key. 770# 771# $(1): The path to the private key in pem format. 772define ue-unittest-keys 773 $(eval include $(CLEAR_VARS)) \ 774 $(eval LOCAL_MODULE := ue_$(1).pem) \ 775 $(eval LOCAL_MODULE_CLASS := ETC) \ 776 $(eval $(ifeq $(BRILLO), 1, LOCAL_MODULE_TAGS := eng)) \ 777 $(eval LOCAL_SRC_FILES := $(1).pem) \ 778 $(eval LOCAL_MODULE_PATH := \ 779 $(TARGET_OUT_DATA_NATIVE_TESTS)/update_engine_unittests) \ 780 $(eval LOCAL_MODULE_STEM := $(1).pem) \ 781 $(eval include $(BUILD_PREBUILT)) \ 782 \ 783 $(eval include $(CLEAR_VARS)) \ 784 $(eval LOCAL_MODULE := ue_$(1).pub.pem) \ 785 $(eval LOCAL_MODULE_CLASS := ETC) \ 786 $(eval $(ifeq $(BRILLO), 1, LOCAL_MODULE_TAGS := eng)) \ 787 $(eval LOCAL_MODULE_PATH := \ 788 $(TARGET_OUT_DATA_NATIVE_TESTS)/update_engine_unittests) \ 789 $(eval LOCAL_MODULE_STEM := $(1).pub.pem) \ 790 $(eval include $(BUILD_SYSTEM)/base_rules.mk) \ 791 $(eval $(LOCAL_BUILT_MODULE) : $(LOCAL_PATH)/$(1).pem ; \ 792 openssl rsa -in $$< -pubout -out $$@) 793endef 794 795$(call ue-unittest-keys,unittest_key) 796$(call ue-unittest-keys,unittest_key2) 797 798# Sample images for unittests. 799# ======================================================== 800# Generate a prebuilt module that installs a sample image from the compressed 801# sample_images.tar.bz2 file used by the unittests. 802# 803# $(1): The filename in the sample_images.tar.bz2 804define ue-unittest-sample-image 805 $(eval include $(CLEAR_VARS)) \ 806 $(eval LOCAL_MODULE := ue_unittest_$(1)) \ 807 $(eval LOCAL_MODULE_CLASS := EXECUTABLES) \ 808 $(eval $(ifeq $(BRILLO), 1, LOCAL_MODULE_TAGS := eng)) \ 809 $(eval LOCAL_MODULE_PATH := \ 810 $(TARGET_OUT_DATA_NATIVE_TESTS)/update_engine_unittests/gen) \ 811 $(eval LOCAL_MODULE_STEM := $(1)) \ 812 $(eval include $(BUILD_SYSTEM)/base_rules.mk) \ 813 $(eval $(LOCAL_BUILT_MODULE) : \ 814 $(LOCAL_PATH)/sample_images/sample_images.tar.bz2 ; \ 815 tar -jxf $$< -C $$(dir $$@) $$(notdir $$@) && touch $$@) 816endef 817 818$(call ue-unittest-sample-image,disk_ext2_1k.img) 819$(call ue-unittest-sample-image,disk_ext2_4k.img) 820$(call ue-unittest-sample-image,disk_ext2_4k_empty.img) 821$(call ue-unittest-sample-image,disk_ext2_unittest.img) 822 823# Zlib Fingerprint 824# ======================================================== 825include $(CLEAR_VARS) 826LOCAL_MODULE := zlib_fingerprint 827LOCAL_MODULE_CLASS := ETC 828LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_NATIVE_TESTS)/update_engine_unittests 829LOCAL_PREBUILT_MODULE_FILE := $(TARGET_OUT_COMMON_GEN)/zlib_fingerprint 830include $(BUILD_PREBUILT) 831 832# update_engine.conf 833# ======================================================== 834include $(CLEAR_VARS) 835LOCAL_MODULE := ue_unittest_update_engine.conf 836LOCAL_MODULE_CLASS := ETC 837LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_NATIVE_TESTS)/update_engine_unittests 838LOCAL_MODULE_STEM := update_engine.conf 839LOCAL_SRC_FILES := update_engine.conf 840include $(BUILD_PREBUILT) 841 842# test_http_server (type: executable) 843# ======================================================== 844# Test HTTP Server. 845include $(CLEAR_VARS) 846LOCAL_MODULE := test_http_server 847LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_NATIVE_TESTS)/update_engine_unittests 848LOCAL_MODULE_CLASS := EXECUTABLES 849LOCAL_CPP_EXTENSION := .cc 850LOCAL_CLANG := true 851LOCAL_CFLAGS := $(ue_common_cflags) 852LOCAL_CPPFLAGS := $(ue_common_cppflags) 853LOCAL_LDFLAGS := $(ue_common_ldflags) 854LOCAL_C_INCLUDES := $(ue_common_c_includes) 855LOCAL_SHARED_LIBRARIES := $(ue_common_shared_libraries) 856LOCAL_STATIC_LIBRARIES := $(ue_common_static_libraries) 857LOCAL_SRC_FILES := \ 858 common/http_common.cc \ 859 test_http_server.cc 860include $(BUILD_EXECUTABLE) 861 862# bsdiff (type: executable) 863# ======================================================== 864# We need bsdiff in the update_engine_unittests directory, so we build it here. 865include $(CLEAR_VARS) 866LOCAL_MODULE := ue_unittest_bsdiff 867LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_NATIVE_TESTS)/update_engine_unittests 868LOCAL_MODULE_STEM := bsdiff 869LOCAL_CPP_EXTENSION := .cc 870LOCAL_SRC_FILES := ../../external/bsdiff/bsdiff_main.cc 871LOCAL_CFLAGS := \ 872 -D_FILE_OFFSET_BITS=64 \ 873 -Wall \ 874 -Werror \ 875 -Wextra \ 876 -Wno-unused-parameter 877LOCAL_STATIC_LIBRARIES := \ 878 libbsdiff \ 879 libbz \ 880 libdivsufsort64 \ 881 libdivsufsort 882include $(BUILD_EXECUTABLE) 883 884# test_subprocess (type: executable) 885# ======================================================== 886# Test helper subprocess program. 887include $(CLEAR_VARS) 888LOCAL_MODULE := test_subprocess 889LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_NATIVE_TESTS)/update_engine_unittests 890LOCAL_MODULE_CLASS := EXECUTABLES 891LOCAL_CPP_EXTENSION := .cc 892LOCAL_CLANG := true 893LOCAL_CFLAGS := $(ue_common_cflags) 894LOCAL_CPPFLAGS := $(ue_common_cppflags) 895LOCAL_LDFLAGS := $(ue_common_ldflags) 896LOCAL_C_INCLUDES := $(ue_common_c_includes) 897LOCAL_SHARED_LIBRARIES := $(ue_common_shared_libraries) 898LOCAL_STATIC_LIBRARIES := $(ue_common_static_libraries) 899LOCAL_SRC_FILES := test_subprocess.cc 900include $(BUILD_EXECUTABLE) 901 902# update_engine_unittests (type: executable) 903# ======================================================== 904# Main unittest file. 905include $(CLEAR_VARS) 906LOCAL_MODULE := update_engine_unittests 907LOCAL_REQUIRED_MODULES := \ 908 test_http_server \ 909 test_subprocess \ 910 ue_unittest_bsdiff \ 911 ue_unittest_delta_generator \ 912 ue_unittest_disk_ext2_1k.img \ 913 ue_unittest_disk_ext2_4k.img \ 914 ue_unittest_disk_ext2_4k_empty.img \ 915 ue_unittest_disk_ext2_unittest.img \ 916 ue_unittest_key.pem \ 917 ue_unittest_key.pub.pem \ 918 ue_unittest_key2.pem \ 919 ue_unittest_key2.pub.pem \ 920 ue_unittest_update_engine.conf \ 921 zlib_fingerprint 922LOCAL_CPP_EXTENSION := .cc 923LOCAL_CLANG := true 924LOCAL_CFLAGS := $(ue_common_cflags) 925LOCAL_CPPFLAGS := $(ue_common_cppflags) 926LOCAL_LDFLAGS := $(ue_common_ldflags) 927LOCAL_C_INCLUDES := \ 928 $(ue_common_c_includes) \ 929 $(ue_libupdate_engine_exported_c_includes) 930LOCAL_STATIC_LIBRARIES := \ 931 libpayload_generator \ 932 libbrillo-test-helpers \ 933 libgmock \ 934 libchrome_test_helpers \ 935 $(ue_common_static_libraries) \ 936 $(ue_libpayload_generator_exported_static_libraries:-host=) 937LOCAL_SHARED_LIBRARIES := \ 938 $(ue_common_shared_libraries) \ 939 $(ue_libpayload_generator_exported_shared_libraries:-host=) 940LOCAL_SRC_FILES := \ 941 certificate_checker_unittest.cc \ 942 common/action_pipe_unittest.cc \ 943 common/action_processor_unittest.cc \ 944 common/action_unittest.cc \ 945 common/cpu_limiter_unittest.cc \ 946 common/fake_prefs.cc \ 947 common/file_fetcher_unittest.cc \ 948 common/hash_calculator_unittest.cc \ 949 common/http_fetcher_unittest.cc \ 950 common/hwid_override_unittest.cc \ 951 common/mock_http_fetcher.cc \ 952 common/prefs_unittest.cc \ 953 common/subprocess_unittest.cc \ 954 common/terminator_unittest.cc \ 955 common/test_utils.cc \ 956 common/utils_unittest.cc \ 957 payload_consumer/bzip_extent_writer_unittest.cc \ 958 payload_consumer/delta_performer_integration_test.cc \ 959 payload_consumer/delta_performer_unittest.cc \ 960 payload_consumer/extent_writer_unittest.cc \ 961 payload_consumer/file_writer_unittest.cc \ 962 payload_consumer/filesystem_verifier_action_unittest.cc \ 963 payload_consumer/postinstall_runner_action_unittest.cc \ 964 payload_consumer/xz_extent_writer_unittest.cc \ 965 payload_generator/ab_generator_unittest.cc \ 966 payload_generator/blob_file_writer_unittest.cc \ 967 payload_generator/block_mapping_unittest.cc \ 968 payload_generator/cycle_breaker_unittest.cc \ 969 payload_generator/delta_diff_utils_unittest.cc \ 970 payload_generator/ext2_filesystem_unittest.cc \ 971 payload_generator/extent_ranges_unittest.cc \ 972 payload_generator/extent_utils_unittest.cc \ 973 payload_generator/fake_filesystem.cc \ 974 payload_generator/full_update_generator_unittest.cc \ 975 payload_generator/graph_utils_unittest.cc \ 976 payload_generator/inplace_generator_unittest.cc \ 977 payload_generator/mapfile_filesystem_unittest.cc \ 978 payload_generator/payload_file_unittest.cc \ 979 payload_generator/payload_generation_config_unittest.cc \ 980 payload_generator/payload_signer_unittest.cc \ 981 payload_generator/tarjan_unittest.cc \ 982 payload_generator/topological_sort_unittest.cc \ 983 payload_generator/zip_unittest.cc \ 984 proxy_resolver_unittest.cc \ 985 testrunner.cc 986ifeq ($(local_use_omaha),1) 987LOCAL_C_INCLUDES += \ 988 $(ue_libupdate_engine_exported_c_includes) 989LOCAL_STATIC_LIBRARIES += \ 990 libupdate_engine \ 991 $(ue_libupdate_engine_exported_static_libraries:-host=) 992LOCAL_SHARED_LIBRARIES += \ 993 $(ue_libupdate_engine_exported_shared_libraries:-host=) 994LOCAL_SRC_FILES += \ 995 common_service_unittest.cc \ 996 fake_system_state.cc \ 997 metrics_utils_unittest.cc \ 998 omaha_request_action_unittest.cc \ 999 omaha_request_params_unittest.cc \ 1000 omaha_response_handler_action_unittest.cc \ 1001 omaha_utils_unittest.cc \ 1002 p2p_manager_unittest.cc \ 1003 payload_consumer/download_action_unittest.cc \ 1004 payload_state_unittest.cc \ 1005 update_attempter_unittest.cc \ 1006 update_manager/boxed_value_unittest.cc \ 1007 update_manager/chromeos_policy_unittest.cc \ 1008 update_manager/evaluation_context_unittest.cc \ 1009 update_manager/generic_variables_unittest.cc \ 1010 update_manager/prng_unittest.cc \ 1011 update_manager/real_device_policy_provider_unittest.cc \ 1012 update_manager/real_random_provider_unittest.cc \ 1013 update_manager/real_system_provider_unittest.cc \ 1014 update_manager/real_time_provider_unittest.cc \ 1015 update_manager/real_updater_provider_unittest.cc \ 1016 update_manager/umtest_utils.cc \ 1017 update_manager/update_manager_unittest.cc \ 1018 update_manager/variable_unittest.cc 1019else # local_use_omaha == 1 1020LOCAL_STATIC_LIBRARIES += \ 1021 libupdate_engine_android \ 1022 $(ue_libupdate_engine_android_exported_static_libraries:-host=) 1023LOCAL_SHARED_LIBRARIES += \ 1024 $(ue_libupdate_engine_android_exported_shared_libraries:-host=) 1025endif # local_use_omaha == 1 1026ifeq ($(local_use_libcros),1) 1027LOCAL_SRC_FILES += \ 1028 chrome_browser_proxy_resolver_unittest.cc 1029endif # local_use_libcros == 1 1030include $(BUILD_NATIVE_TEST) 1031 1032# Weave schema files 1033# ======================================================== 1034include $(CLEAR_VARS) 1035LOCAL_MODULE := updater.json 1036LOCAL_MODULE_CLASS := ETC 1037LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved/traits 1038LOCAL_SRC_FILES := weaved/traits/$(LOCAL_MODULE) 1039include $(BUILD_PREBUILT) 1040 1041# Update payload signing public key. 1042# ======================================================== 1043ifdef BRILLO 1044include $(CLEAR_VARS) 1045LOCAL_MODULE := brillo-update-payload-key 1046LOCAL_MODULE_CLASS := ETC 1047LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/update_engine 1048LOCAL_MODULE_STEM := update-payload-key.pub.pem 1049LOCAL_SRC_FILES := update_payload_key/brillo-update-payload-key.pub.pem 1050LOCAL_BUILT_MODULE_STEM := update_payload_key/brillo-update-payload-key.pub.pem 1051include $(BUILD_PREBUILT) 1052endif # BRILLO 1053 1054# Brillo update payload generation script 1055# ======================================================== 1056ifeq ($(HOST_OS),linux) 1057include $(CLEAR_VARS) 1058LOCAL_SRC_FILES := scripts/brillo_update_payload 1059LOCAL_MODULE := brillo_update_payload 1060LOCAL_MODULE_CLASS := EXECUTABLES 1061LOCAL_IS_HOST_MODULE := true 1062LOCAL_MODULE_TAGS := optional 1063LOCAL_REQUIRED_MODULES := \ 1064 delta_generator \ 1065 shflags 1066include $(BUILD_PREBUILT) 1067endif # HOST_OS == linux 1068