Android.mk revision 71d7c214a3944cfa28a5358558d18269d25c11c7
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_dbus := $(if $(BRILLO_USE_DBUS),$(BRILLO_USE_DBUS),0) 24local_use_hwid_override := \ 25 $(if $(BRILLO_USE_HWID_OVERRIDE),$(BRILLO_USE_HWID_OVERRIDE),0) 26local_use_mtd := $(if $(BRILLO_USE_MTD),$(BRILLO_USE_MTD),0) 27local_use_power_management := \ 28 $(if $(BRILLO_USE_POWER_MANAGEMENT),$(BRILLO_USE_POWER_MANAGEMENT),0) 29local_use_weave := $(if $(BRILLO_USE_WEAVE),$(BRILLO_USE_WEAVE),0) 30 31ue_common_cflags := \ 32 -DUSE_BINDER=$(local_use_binder) \ 33 -DUSE_DBUS=$(local_use_dbus) \ 34 -DUSE_HWID_OVERRIDE=$(local_use_hwid_override) \ 35 -DUSE_MTD=$(local_use_mtd) \ 36 -DUSE_POWER_MANAGEMENT=$(local_use_power_management) \ 37 -DUSE_WEAVE=$(local_use_weave) \ 38 -D_FILE_OFFSET_BITS=64 \ 39 -D_POSIX_C_SOURCE=199309L \ 40 -Wa,--noexecstack \ 41 -Wall \ 42 -Werror \ 43 -Wextra \ 44 -Wformat=2 \ 45 -Wno-psabi \ 46 -Wno-unused-parameter \ 47 -ffunction-sections \ 48 -fstack-protector-strong \ 49 -fvisibility=hidden 50ue_common_cppflags := \ 51 -Wnon-virtual-dtor \ 52 -fno-strict-aliasing \ 53 -std=gnu++11 54ue_common_ldflags := \ 55 -Wl,--gc-sections 56ue_common_c_includes := \ 57 $(LOCAL_PATH)/client_library/include \ 58 external/gtest/include \ 59 system 60ue_common_shared_libraries := \ 61 libbrillo \ 62 libbrillo-http \ 63 libbrillo-stream \ 64 libchrome 65 66ifeq ($(local_use_dbus),1) 67 68# update_engine_client-dbus-proxies (from generate-dbus-proxies.gypi) 69# ======================================================== 70include $(CLEAR_VARS) 71LOCAL_MODULE := update_engine_client-dbus-proxies 72LOCAL_MODULE_CLASS := STATIC_LIBRARIES 73LOCAL_SRC_FILES := \ 74 dbus_bindings/dbus-service-config.json \ 75 dbus_bindings/org.chromium.UpdateEngineInterface.dbus-xml 76LOCAL_DBUS_PROXY_PREFIX := update_engine 77include $(BUILD_STATIC_LIBRARY) 78 79endif # local_use_dbus == 1 80 81# update_metadata-protos (type: static_library) 82# ======================================================== 83# Protobufs. 84ue_update_metadata_protos_exported_static_libraries := \ 85 update_metadata-protos 86ue_update_metadata_protos_exported_shared_libraries := \ 87 libprotobuf-cpp-lite 88 89ue_update_metadata_protos_src_files := \ 90 update_metadata.proto 91 92# Build for the host. 93include $(CLEAR_VARS) 94LOCAL_MODULE := update_metadata-protos 95LOCAL_MODULE_CLASS := STATIC_LIBRARIES 96LOCAL_IS_HOST_MODULE := true 97generated_sources_dir := $(call local-generated-sources-dir) 98LOCAL_EXPORT_C_INCLUDE_DIRS := $(generated_sources_dir)/proto/system 99LOCAL_SRC_FILES := $(ue_update_metadata_protos_src_files) 100include $(BUILD_HOST_STATIC_LIBRARY) 101 102# Build for the target. 103include $(CLEAR_VARS) 104LOCAL_MODULE := update_metadata-protos 105LOCAL_MODULE_CLASS := STATIC_LIBRARIES 106generated_sources_dir := $(call local-generated-sources-dir) 107LOCAL_EXPORT_C_INCLUDE_DIRS := $(generated_sources_dir)/proto/system 108LOCAL_SRC_FILES := $(ue_update_metadata_protos_src_files) 109include $(BUILD_STATIC_LIBRARY) 110 111ifeq ($(local_use_dbus),1) 112 113# update_engine-dbus-adaptor (from generate-dbus-adaptors.gypi) 114# ======================================================== 115# Chrome D-Bus bindings. 116include $(CLEAR_VARS) 117LOCAL_MODULE := update_engine-dbus-adaptor 118LOCAL_MODULE_CLASS := STATIC_LIBRARIES 119LOCAL_SRC_FILES := \ 120 dbus_bindings/org.chromium.UpdateEngineInterface.dbus-xml 121include $(BUILD_STATIC_LIBRARY) 122 123# update_engine-dbus-libcros-client (from generate-dbus-proxies.gypi) 124# ======================================================== 125include $(CLEAR_VARS) 126LOCAL_MODULE := update_engine-dbus-libcros-client 127LOCAL_MODULE_CLASS := STATIC_LIBRARIES 128LOCAL_SRC_FILES := \ 129 dbus_bindings/org.chromium.LibCrosService.dbus-xml 130LOCAL_DBUS_PROXY_PREFIX := libcros 131include $(BUILD_STATIC_LIBRARY) 132 133endif # local_use_dbus == 1 134 135# libpayload_consumer (type: static_library) 136# ======================================================== 137# The payload application component and common dependencies. 138ue_libpayload_consumer_exported_static_libraries := \ 139 update_metadata-protos \ 140 libxz-host \ 141 libbz \ 142 $(ue_update_metadata_protos_exported_static_libraries) 143ue_libpayload_consumer_exported_shared_libraries := \ 144 libcrypto-host \ 145 libcurl-host \ 146 libssl-host \ 147 $(ue_update_metadata_protos_exported_shared_libraries) 148 149ue_libpayload_consumer_src_files := \ 150 common/action_processor.cc \ 151 common/boot_control_stub.cc \ 152 common/certificate_checker.cc \ 153 common/clock.cc \ 154 common/constants.cc \ 155 common/hash_calculator.cc \ 156 common/http_common.cc \ 157 common/http_fetcher.cc \ 158 common/hwid_override.cc \ 159 common/libcurl_http_fetcher.cc \ 160 common/multi_range_http_fetcher.cc \ 161 common/platform_constants_android.cc \ 162 common/prefs.cc \ 163 common/subprocess.cc \ 164 common/terminator.cc \ 165 common/utils.cc \ 166 payload_consumer/bzip_extent_writer.cc \ 167 payload_consumer/delta_performer.cc \ 168 payload_consumer/download_action.cc \ 169 payload_consumer/extent_writer.cc \ 170 payload_consumer/file_descriptor.cc \ 171 payload_consumer/file_writer.cc \ 172 payload_consumer/filesystem_verifier_action.cc \ 173 payload_consumer/install_plan.cc \ 174 payload_consumer/payload_constants.cc \ 175 payload_consumer/payload_verifier.cc \ 176 payload_consumer/postinstall_runner_action.cc \ 177 payload_consumer/xz_extent_writer.cc 178 179ifeq ($(HOST_OS),linux) 180# Build for the host. 181include $(CLEAR_VARS) 182LOCAL_MODULE := libpayload_consumer 183LOCAL_MODULE_CLASS := STATIC_LIBRARIES 184LOCAL_CPP_EXTENSION := .cc 185LOCAL_CLANG := true 186LOCAL_CFLAGS := $(ue_common_cflags) 187LOCAL_CPPFLAGS := $(ue_common_cppflags) 188LOCAL_LDFLAGS := $(ue_common_ldflags) 189LOCAL_C_INCLUDES := \ 190 $(ue_common_c_includes) \ 191 external/e2fsprogs/lib 192LOCAL_STATIC_LIBRARIES := \ 193 update_metadata-protos \ 194 $(ue_libpayload_consumer_exported_static_libraries) \ 195 $(ue_update_metadata_protos_exported_static_libraries) 196LOCAL_SHARED_LIBRARIES := \ 197 $(ue_common_shared_libraries) \ 198 $(ue_libpayload_consumer_exported_shared_libraries) \ 199 $(ue_update_metadata_protos_exported_shared_libraries) 200LOCAL_SRC_FILES := $(ue_libpayload_consumer_src_files) 201include $(BUILD_HOST_STATIC_LIBRARY) 202endif # HOST_OS == linux 203 204# Build for the target. 205include $(CLEAR_VARS) 206LOCAL_MODULE := libpayload_consumer 207LOCAL_MODULE_CLASS := STATIC_LIBRARIES 208LOCAL_CPP_EXTENSION := .cc 209LOCAL_CLANG := true 210LOCAL_CFLAGS := $(ue_common_cflags) 211LOCAL_CPPFLAGS := $(ue_common_cppflags) 212LOCAL_LDFLAGS := $(ue_common_ldflags) 213LOCAL_C_INCLUDES := \ 214 $(ue_common_c_includes) \ 215 external/e2fsprogs/lib 216LOCAL_STATIC_LIBRARIES := \ 217 update_metadata-protos \ 218 $(ue_libpayload_consumer_exported_static_libraries:-host=) \ 219 $(ue_update_metadata_protos_exported_static_libraries) 220LOCAL_SHARED_LIBRARIES := \ 221 $(ue_common_shared_libraries) \ 222 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 223 $(ue_update_metadata_protos_exported_shared_libraries) 224LOCAL_SRC_FILES := $(ue_libpayload_consumer_src_files) 225include $(BUILD_STATIC_LIBRARY) 226 227ifeq ($(local_use_dbus),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 $(LOCAL_PATH)/include \ 235 external/cros/system_api/dbus 236ue_libupdate_engine_exported_static_libraries := \ 237 libpayload_consumer \ 238 update_metadata-protos \ 239 update_engine-dbus-adaptor \ 240 update_engine-dbus-libcros-client \ 241 update_engine_client-dbus-proxies \ 242 libbz \ 243 libfs_mgr \ 244 $(ue_libpayload_consumer_exported_static_libraries) \ 245 $(ue_update_metadata_protos_exported_static_libraries) 246ue_libupdate_engine_exported_shared_libraries := \ 247 libdbus \ 248 libbrillo-dbus \ 249 libchrome-dbus \ 250 libmetrics \ 251 libshill-client \ 252 libexpat \ 253 libbrillo-policy \ 254 libhardware \ 255 libcutils \ 256 $(ue_libpayload_consumer_exported_shared_libraries) \ 257 $(ue_update_metadata_protos_exported_shared_libraries) 258ifeq ($(local_use_binder),1) 259ue_libupdate_engine_exported_shared_libraries += \ 260 libbinder \ 261 libbinderwrapper \ 262 libbrillo-binder \ 263 libutils 264endif # local_use_binder == 1 265 266ifeq ($(local_use_weave),1) 267ue_libupdate_engine_exported_shared_libraries += \ 268 libbinderwrapper \ 269 libbrillo-binder \ 270 libweaved 271endif # local_use_weave == 1 272ifeq ($(local_use_binder),1) 273ue_libupdate_engine_exported_shared_libraries += \ 274 libbinder \ 275 libbrillo-binder \ 276 libutils 277endif # local_use_binder == 1 278 279include $(CLEAR_VARS) 280LOCAL_MODULE := libupdate_engine 281LOCAL_MODULE_CLASS := STATIC_LIBRARIES 282LOCAL_CPP_EXTENSION := .cc 283LOCAL_CLANG := true 284LOCAL_EXPORT_C_INCLUDE_DIRS := $(ue_libupdate_engine_exported_c_includes) 285LOCAL_CFLAGS := $(ue_common_cflags) 286LOCAL_CPPFLAGS := $(ue_common_cppflags) 287LOCAL_LDFLAGS := $(ue_common_ldflags) 288LOCAL_C_INCLUDES := \ 289 $(ue_common_c_includes) \ 290 $(ue_libupdate_engine_exported_c_includes) 291LOCAL_STATIC_LIBRARIES := \ 292 libpayload_consumer \ 293 update_metadata-protos \ 294 update_engine-dbus-adaptor \ 295 update_engine-dbus-libcros-client \ 296 update_engine_client-dbus-proxies \ 297 $(ue_libupdate_engine_exported_static_libraries:-host=) \ 298 $(ue_libpayload_consumer_exported_static_libraries:-host=) \ 299 $(ue_update_metadata_protos_exported_static_libraries) 300LOCAL_SHARED_LIBRARIES := \ 301 $(ue_common_shared_libraries) \ 302 $(ue_libupdate_engine_exported_shared_libraries:-host=) \ 303 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 304 $(ue_update_metadata_protos_exported_shared_libraries) 305LOCAL_SRC_FILES := \ 306 boot_control_android.cc \ 307 chrome_browser_proxy_resolver.cc \ 308 common_service.cc \ 309 connection_manager.cc \ 310 daemon.cc \ 311 dbus_service.cc \ 312 hardware_android.cc \ 313 image_properties_android.cc \ 314 libcros_proxy.cc \ 315 metrics.cc \ 316 metrics_utils.cc \ 317 omaha_request_action.cc \ 318 omaha_request_params.cc \ 319 omaha_response_handler_action.cc \ 320 p2p_manager.cc \ 321 payload_state.cc \ 322 proxy_resolver.cc \ 323 real_system_state.cc \ 324 shill_proxy.cc \ 325 update_attempter.cc \ 326 update_manager/boxed_value.cc \ 327 update_manager/chromeos_policy.cc \ 328 update_manager/default_policy.cc \ 329 update_manager/evaluation_context.cc \ 330 update_manager/policy.cc \ 331 update_manager/real_config_provider.cc \ 332 update_manager/real_device_policy_provider.cc \ 333 update_manager/real_random_provider.cc \ 334 update_manager/real_shill_provider.cc \ 335 update_manager/real_system_provider.cc \ 336 update_manager/real_time_provider.cc \ 337 update_manager/real_updater_provider.cc \ 338 update_manager/state_factory.cc \ 339 update_manager/update_manager.cc \ 340 update_status_utils.cc \ 341 weave_service_factory.cc 342ifeq ($(local_use_weave),1) 343LOCAL_SRC_FILES += \ 344 weave_service.cc 345endif # local_use_weave == 1 346 347ifeq ($(local_use_binder),1) 348LOCAL_AIDL_INCLUDES += $(LOCAL_PATH)/binder_bindings 349LOCAL_SRC_FILES += \ 350 binder_bindings/android/brillo/IUpdateEngine.aidl \ 351 binder_bindings/android/brillo/IUpdateEngineStatusCallback.aidl \ 352 binder_service.cc \ 353 parcelable_update_engine_status.cc 354endif # local_use_binder == 1 355 356include $(BUILD_STATIC_LIBRARY) 357 358endif # local_use_dbus == 1 359 360# update_engine (type: executable) 361# ======================================================== 362# update_engine daemon. 363include $(CLEAR_VARS) 364LOCAL_MODULE := update_engine 365LOCAL_MODULE_CLASS := EXECUTABLES 366LOCAL_REQUIRED_MODULES := \ 367 bspatch \ 368 cacerts_google 369ifeq ($(local_use_weave),1) 370LOCAL_REQUIRED_MODULES += updater.json 371endif # local_use_weave == 1 372LOCAL_CPP_EXTENSION := .cc 373LOCAL_CLANG := true 374LOCAL_CFLAGS := $(ue_common_cflags) 375LOCAL_CPPFLAGS := $(ue_common_cppflags) 376LOCAL_LDFLAGS := $(ue_common_ldflags) 377LOCAL_C_INCLUDES := \ 378 $(ue_common_c_includes) 379LOCAL_SHARED_LIBRARIES := \ 380 $(ue_common_shared_libraries) 381LOCAL_SRC_FILES := \ 382 main.cc 383 384ifdef BRILLO 385LOCAL_C_INCLUDES += \ 386 $(ue_libupdate_engine_exported_c_includes) 387LOCAL_STATIC_LIBRARIES := \ 388 libupdate_engine \ 389 $(ue_libupdate_engine_exported_static_libraries:-host=) 390LOCAL_SHARED_LIBRARIES += \ 391 $(ue_libupdate_engine_exported_shared_libraries:-host=) 392else # !defined(BRILLO) 393LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder_bindings 394LOCAL_STATIC_LIBRARIES := \ 395 libpayload_consumer \ 396 $(ue_libpayload_consumer_exported_static_libraries:-host=) 397LOCAL_SHARED_LIBRARIES += \ 398 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 399 libbinder \ 400 libbrillo-binder \ 401 libutils 402LOCAL_SRC_FILES += \ 403 binder_bindings/android/os/IUpdateEngine.aidl \ 404 binder_bindings/android/os/IUpdateEngineCallback.aidl \ 405 binder_service_android.cc \ 406 daemon.cc 407endif # defined(BRILLO) 408 409ifeq ($(local_use_binder),1) 410LOCAL_SHARED_LIBRARIES += \ 411 libbinder \ 412 libbinderwrapper \ 413 libutils 414endif # local_use_binder == 1 415 416LOCAL_INIT_RC := update_engine.rc 417include $(BUILD_EXECUTABLE) 418 419ifeq ($(local_use_dbus),1) 420 421# update_engine_client (type: executable) 422# ======================================================== 423# update_engine console client. 424include $(CLEAR_VARS) 425LOCAL_MODULE := update_engine_client 426LOCAL_MODULE_CLASS := EXECUTABLES 427LOCAL_CPP_EXTENSION := .cc 428LOCAL_CLANG := true 429LOCAL_CFLAGS := $(ue_common_cflags) 430LOCAL_CPPFLAGS := $(ue_common_cppflags) 431LOCAL_LDFLAGS := $(ue_common_ldflags) 432LOCAL_C_INCLUDES := \ 433 $(ue_common_c_includes) \ 434 $(LOCAL_PATH)/include 435LOCAL_STATIC_LIBRARIES := update_engine_client-dbus-proxies 436LOCAL_SHARED_LIBRARIES := \ 437 $(ue_common_shared_libraries) \ 438 libdbus \ 439 libbrillo-dbus \ 440 libchrome-dbus \ 441 libupdate_engine_client 442LOCAL_SRC_FILES := \ 443 update_engine_client.cc 444include $(BUILD_EXECUTABLE) 445 446endif # local_use_dbus == 1 447 448# libpayload_generator (type: static_library) 449# ======================================================== 450# server-side code. This is used for delta_generator and unittests but not 451# for any client code. 452ue_libpayload_generator_exported_static_libraries := \ 453 libpayload_consumer \ 454 update_metadata-protos \ 455 $(ue_libpayload_consumer_exported_static_libraries) \ 456 $(ue_update_metadata_protos_exported_static_libraries) 457ue_libpayload_generator_exported_shared_libraries := \ 458 libext2fs-host \ 459 $(ue_libpayload_consumer_exported_shared_libraries) \ 460 $(ue_update_metadata_protos_exported_shared_libraries) 461 462ue_libpayload_generator_src_files := \ 463 payload_generator/ab_generator.cc \ 464 payload_generator/annotated_operation.cc \ 465 payload_generator/blob_file_writer.cc \ 466 payload_generator/block_mapping.cc \ 467 payload_generator/bzip.cc \ 468 payload_generator/cycle_breaker.cc \ 469 payload_generator/delta_diff_generator.cc \ 470 payload_generator/delta_diff_utils.cc \ 471 payload_generator/ext2_filesystem.cc \ 472 payload_generator/extent_ranges.cc \ 473 payload_generator/extent_utils.cc \ 474 payload_generator/full_update_generator.cc \ 475 payload_generator/graph_types.cc \ 476 payload_generator/graph_utils.cc \ 477 payload_generator/inplace_generator.cc \ 478 payload_generator/payload_file.cc \ 479 payload_generator/payload_generation_config.cc \ 480 payload_generator/payload_signer.cc \ 481 payload_generator/raw_filesystem.cc \ 482 payload_generator/tarjan.cc \ 483 payload_generator/topological_sort.cc 484 485ifeq ($(HOST_OS),linux) 486# Build for the host. 487include $(CLEAR_VARS) 488LOCAL_MODULE := libpayload_generator 489LOCAL_MODULE_CLASS := STATIC_LIBRARIES 490LOCAL_CPP_EXTENSION := .cc 491LOCAL_CLANG := true 492LOCAL_CFLAGS := $(ue_common_cflags) 493LOCAL_CPPFLAGS := $(ue_common_cppflags) 494LOCAL_LDFLAGS := $(ue_common_ldflags) 495LOCAL_C_INCLUDES := $(ue_common_c_includes) 496LOCAL_STATIC_LIBRARIES := \ 497 libpayload_consumer \ 498 update_metadata-protos \ 499 $(ue_libpayload_consumer_exported_static_libraries) \ 500 $(ue_update_metadata_protos_exported_static_libraries) 501LOCAL_SHARED_LIBRARIES := \ 502 $(ue_common_shared_libraries) \ 503 $(ue_libpayload_generator_exported_shared_libraries) \ 504 $(ue_libpayload_consumer_exported_shared_libraries) \ 505 $(ue_update_metadata_protos_exported_shared_libraries) 506LOCAL_SRC_FILES := $(ue_libpayload_generator_src_files) 507include $(BUILD_HOST_STATIC_LIBRARY) 508endif # HOST_OS == linux 509 510# Build for the target. 511include $(CLEAR_VARS) 512LOCAL_MODULE := libpayload_generator 513LOCAL_MODULE_CLASS := STATIC_LIBRARIES 514LOCAL_CPP_EXTENSION := .cc 515LOCAL_CLANG := true 516LOCAL_CFLAGS := $(ue_common_cflags) 517LOCAL_CPPFLAGS := $(ue_common_cppflags) 518LOCAL_LDFLAGS := $(ue_common_ldflags) 519LOCAL_C_INCLUDES := $(ue_common_c_includes) 520LOCAL_STATIC_LIBRARIES := \ 521 libpayload_consumer \ 522 update_metadata-protos \ 523 $(ue_libpayload_consumer_exported_static_libraries:-host=) \ 524 $(ue_update_metadata_protos_exported_static_libraries) 525LOCAL_SHARED_LIBRARIES := \ 526 $(ue_common_shared_libraries) \ 527 $(ue_libpayload_generator_exported_shared_libraries:-host=) \ 528 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 529 $(ue_update_metadata_protos_exported_shared_libraries) 530LOCAL_SRC_FILES := $(ue_libpayload_generator_src_files) 531include $(BUILD_STATIC_LIBRARY) 532 533# delta_generator (type: executable) 534# ======================================================== 535# server-side delta generator. 536ue_delta_generator_src_files := \ 537 payload_generator/generate_delta_main.cc 538 539ifeq ($(HOST_OS),linux) 540# Build for the host. 541include $(CLEAR_VARS) 542LOCAL_MODULE := delta_generator 543LOCAL_MODULE_CLASS := EXECUTABLES 544LOCAL_CPP_EXTENSION := .cc 545LOCAL_CLANG := true 546LOCAL_CFLAGS := $(ue_common_cflags) 547LOCAL_CPPFLAGS := $(ue_common_cppflags) 548LOCAL_LDFLAGS := $(ue_common_ldflags) 549LOCAL_C_INCLUDES := $(ue_common_c_includes) 550LOCAL_STATIC_LIBRARIES := \ 551 libpayload_consumer \ 552 libpayload_generator \ 553 $(ue_libpayload_consumer_exported_static_libraries) \ 554 $(ue_libpayload_generator_exported_static_libraries) 555LOCAL_SHARED_LIBRARIES := \ 556 $(ue_common_shared_libraries) \ 557 $(ue_libpayload_consumer_exported_shared_libraries) \ 558 $(ue_libpayload_generator_exported_shared_libraries) 559LOCAL_SRC_FILES := $(ue_delta_generator_src_files) 560include $(BUILD_HOST_EXECUTABLE) 561endif # HOST_OS == linux 562 563# Build for the target. 564include $(CLEAR_VARS) 565LOCAL_MODULE := delta_generator 566LOCAL_MODULE_CLASS := EXECUTABLES 567LOCAL_CPP_EXTENSION := .cc 568LOCAL_CLANG := true 569LOCAL_CFLAGS := $(ue_common_cflags) 570LOCAL_CPPFLAGS := $(ue_common_cppflags) 571LOCAL_LDFLAGS := $(ue_common_ldflags) 572LOCAL_C_INCLUDES := $(ue_common_c_includes) 573LOCAL_STATIC_LIBRARIES := \ 574 libpayload_consumer \ 575 libpayload_generator \ 576 $(ue_libpayload_consumer_exported_static_libraries:-host=) \ 577 $(ue_libpayload_generator_exported_static_libraries:-host=) 578LOCAL_SHARED_LIBRARIES := \ 579 $(ue_common_shared_libraries) \ 580 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 581 $(ue_libpayload_generator_exported_shared_libraries:-host=) 582LOCAL_SRC_FILES := $(ue_delta_generator_src_files) 583include $(BUILD_EXECUTABLE) 584 585# libupdate_engine_client 586# ======================================================== 587include $(CLEAR_VARS) 588LOCAL_MODULE := libupdate_engine_client 589LOCAL_CFLAGS := \ 590 -Wall \ 591 -Werror \ 592 -Wno-unused-parameter \ 593 -DUSE_DBUS=$(local_use_dbus) \ 594 -DUSE_BINDER=$(local_use_binder) 595LOCAL_CLANG := true 596LOCAL_CPP_EXTENSION := .cc 597# TODO(deymo): Remove "external/cros/system_api/dbus" when dbus is not used. 598LOCAL_C_INCLUDES := \ 599 $(LOCAL_PATH)/client_library/include \ 600 external/cros/system_api/dbus \ 601 system \ 602 external/gtest/include 603LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/client_library/include 604LOCAL_SHARED_LIBRARIES := \ 605 libchrome \ 606 libbrillo 607LOCAL_SRC_FILES := \ 608 client_library/client.cc \ 609 update_status_utils.cc 610 611# We can only compile support for one IPC mechanism. If both "binder" and "dbus" 612# are defined, we prefer binder. 613ifeq ($(local_use_binder),1) 614LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder_bindings 615LOCAL_SHARED_LIBRARIES += \ 616 libbinder \ 617 libutils 618LOCAL_SRC_FILES += \ 619 binder_bindings/android/brillo/IUpdateEngine.aidl \ 620 binder_bindings/android/brillo/IUpdateEngineStatusCallback.aidl \ 621 client_library/client_binder.cc \ 622 parcelable_update_engine_status.cc 623else # local_use_binder != 1 624LOCAL_STATIC_LIBRARIES := \ 625 update_engine_client-dbus-proxies 626LOCAL_SHARED_LIBRARIES += \ 627 libchrome-dbus \ 628 libbrillo-dbus 629LOCAL_SRC_FILES += \ 630 client_library/client_dbus.cc 631endif # local_use_binder == 1 632 633include $(BUILD_SHARED_LIBRARY) 634 635# Weave schema files 636# ======================================================== 637include $(CLEAR_VARS) 638LOCAL_MODULE := updater.json 639LOCAL_MODULE_CLASS := ETC 640LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved/traits 641LOCAL_SRC_FILES := weaved/traits/$(LOCAL_MODULE) 642include $(BUILD_PREBUILT) 643 644# Update payload signing public key. 645# ======================================================== 646include $(CLEAR_VARS) 647LOCAL_MODULE := brillo-update-payload-key 648LOCAL_MODULE_CLASS := ETC 649LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/update_engine 650LOCAL_MODULE_STEM := update-payload-key.pub.pem 651LOCAL_SRC_FILES := update_payload_key/brillo-update-payload-key.pub.pem 652LOCAL_BUILT_MODULE_STEM := update_payload_key/brillo-update-payload-key.pub.pem 653include $(BUILD_PREBUILT) 654 655# Brillo update payload generation script 656# ======================================================== 657ifeq ($(HOST_OS),linux) 658include $(CLEAR_VARS) 659LOCAL_SRC_FILES := scripts/brillo_update_payload 660LOCAL_MODULE := brillo_update_payload 661LOCAL_MODULE_CLASS := EXECUTABLES 662LOCAL_IS_HOST_MODULE := true 663LOCAL_MODULE_TAGS := optional 664LOCAL_REQUIRED_MODULES := \ 665 delta_generator \ 666 shflags 667include $(BUILD_PREBUILT) 668endif # HOST_OS == linux 669