Android.mk revision ce90f4462dda5b15ec8abeb949a95d99e2f51f08
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 265ifeq ($(local_use_weave),1) 266ue_libupdate_engine_exported_shared_libraries += \ 267 libbinderwrapper \ 268 libbrillo-binder \ 269 libweaved 270endif # local_use_weave == 1 271 272include $(CLEAR_VARS) 273LOCAL_MODULE := libupdate_engine 274LOCAL_MODULE_CLASS := STATIC_LIBRARIES 275LOCAL_CPP_EXTENSION := .cc 276LOCAL_CLANG := true 277LOCAL_EXPORT_C_INCLUDE_DIRS := $(ue_libupdate_engine_exported_c_includes) 278LOCAL_CFLAGS := $(ue_common_cflags) 279LOCAL_CPPFLAGS := $(ue_common_cppflags) 280LOCAL_LDFLAGS := $(ue_common_ldflags) 281LOCAL_C_INCLUDES := \ 282 $(ue_common_c_includes) \ 283 $(ue_libupdate_engine_exported_c_includes) 284LOCAL_STATIC_LIBRARIES := \ 285 libpayload_consumer \ 286 update_metadata-protos \ 287 update_engine-dbus-adaptor \ 288 update_engine-dbus-libcros-client \ 289 update_engine_client-dbus-proxies \ 290 $(ue_libupdate_engine_exported_static_libraries:-host=) \ 291 $(ue_libpayload_consumer_exported_static_libraries:-host=) \ 292 $(ue_update_metadata_protos_exported_static_libraries) 293LOCAL_SHARED_LIBRARIES := \ 294 $(ue_common_shared_libraries) \ 295 $(ue_libupdate_engine_exported_shared_libraries:-host=) \ 296 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 297 $(ue_update_metadata_protos_exported_shared_libraries) 298LOCAL_SRC_FILES := \ 299 boot_control_android.cc \ 300 chrome_browser_proxy_resolver.cc \ 301 common_service.cc \ 302 connection_manager.cc \ 303 daemon.cc \ 304 dbus_service.cc \ 305 hardware_android.cc \ 306 image_properties_android.cc \ 307 libcros_proxy.cc \ 308 metrics.cc \ 309 metrics_utils.cc \ 310 omaha_request_action.cc \ 311 omaha_request_params.cc \ 312 omaha_response_handler_action.cc \ 313 p2p_manager.cc \ 314 payload_state.cc \ 315 proxy_resolver.cc \ 316 real_system_state.cc \ 317 shill_proxy.cc \ 318 update_attempter.cc \ 319 update_manager/boxed_value.cc \ 320 update_manager/chromeos_policy.cc \ 321 update_manager/default_policy.cc \ 322 update_manager/evaluation_context.cc \ 323 update_manager/policy.cc \ 324 update_manager/real_config_provider.cc \ 325 update_manager/real_device_policy_provider.cc \ 326 update_manager/real_random_provider.cc \ 327 update_manager/real_shill_provider.cc \ 328 update_manager/real_system_provider.cc \ 329 update_manager/real_time_provider.cc \ 330 update_manager/real_updater_provider.cc \ 331 update_manager/state_factory.cc \ 332 update_manager/update_manager.cc \ 333 update_status_utils.cc \ 334 weave_service_factory.cc 335ifeq ($(local_use_binder),1) 336LOCAL_AIDL_INCLUDES += $(LOCAL_PATH)/binder_bindings 337LOCAL_SRC_FILES += \ 338 binder_bindings/android/brillo/IUpdateEngine.aidl \ 339 binder_bindings/android/brillo/IUpdateEngineStatusCallback.aidl \ 340 binder_service.cc \ 341 parcelable_update_engine_status.cc 342endif # local_use_binder == 1 343ifeq ($(local_use_weave),1) 344LOCAL_SRC_FILES += \ 345 weave_service.cc 346endif # local_use_weave == 1 347include $(BUILD_STATIC_LIBRARY) 348 349endif # local_use_dbus == 1 350 351# update_engine (type: executable) 352# ======================================================== 353# update_engine daemon. 354include $(CLEAR_VARS) 355LOCAL_MODULE := update_engine 356LOCAL_MODULE_CLASS := EXECUTABLES 357LOCAL_REQUIRED_MODULES := \ 358 bspatch \ 359 cacerts_google 360ifeq ($(local_use_weave),1) 361LOCAL_REQUIRED_MODULES += updater.json 362endif # local_use_weave == 1 363LOCAL_CPP_EXTENSION := .cc 364LOCAL_CLANG := true 365LOCAL_CFLAGS := $(ue_common_cflags) 366LOCAL_CPPFLAGS := $(ue_common_cppflags) 367LOCAL_LDFLAGS := $(ue_common_ldflags) 368LOCAL_C_INCLUDES := \ 369 $(ue_common_c_includes) 370LOCAL_SHARED_LIBRARIES := \ 371 $(ue_common_shared_libraries) 372LOCAL_SRC_FILES := \ 373 main.cc 374 375ifdef BRILLO 376LOCAL_C_INCLUDES += \ 377 $(ue_libupdate_engine_exported_c_includes) 378LOCAL_STATIC_LIBRARIES := \ 379 libupdate_engine \ 380 $(ue_libupdate_engine_exported_static_libraries:-host=) 381LOCAL_SHARED_LIBRARIES += \ 382 $(ue_libupdate_engine_exported_shared_libraries:-host=) 383else # !defined(BRILLO) 384LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder_bindings 385LOCAL_STATIC_LIBRARIES := \ 386 libpayload_consumer \ 387 $(ue_libpayload_consumer_exported_static_libraries:-host=) 388LOCAL_SHARED_LIBRARIES += \ 389 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 390 libbinder \ 391 libbrillo-binder \ 392 libutils 393LOCAL_SRC_FILES += \ 394 binder_bindings/android/os/IUpdateEngine.aidl \ 395 binder_bindings/android/os/IUpdateEngineCallback.aidl \ 396 binder_service_android.cc \ 397 daemon.cc 398endif # defined(BRILLO) 399 400ifeq ($(local_use_binder),1) 401LOCAL_SHARED_LIBRARIES += \ 402 libbinder \ 403 libbinderwrapper \ 404 libutils 405endif # local_use_binder == 1 406 407LOCAL_INIT_RC := update_engine.rc 408include $(BUILD_EXECUTABLE) 409 410ifeq ($(local_use_dbus),1) 411 412# update_engine_client (type: executable) 413# ======================================================== 414# update_engine console client. 415include $(CLEAR_VARS) 416LOCAL_MODULE := update_engine_client 417LOCAL_MODULE_CLASS := EXECUTABLES 418LOCAL_CPP_EXTENSION := .cc 419LOCAL_CLANG := true 420LOCAL_CFLAGS := $(ue_common_cflags) 421LOCAL_CPPFLAGS := $(ue_common_cppflags) 422LOCAL_LDFLAGS := $(ue_common_ldflags) 423LOCAL_C_INCLUDES := $(ue_common_c_includes) 424LOCAL_SHARED_LIBRARIES := \ 425 $(ue_common_shared_libraries) \ 426 libupdate_engine_client 427LOCAL_SRC_FILES := \ 428 update_engine_client.cc 429include $(BUILD_EXECUTABLE) 430 431endif # local_use_dbus == 1 432 433# libpayload_generator (type: static_library) 434# ======================================================== 435# server-side code. This is used for delta_generator and unittests but not 436# for any client code. 437ue_libpayload_generator_exported_static_libraries := \ 438 libpayload_consumer \ 439 update_metadata-protos \ 440 $(ue_libpayload_consumer_exported_static_libraries) \ 441 $(ue_update_metadata_protos_exported_static_libraries) 442ue_libpayload_generator_exported_shared_libraries := \ 443 libext2fs-host \ 444 $(ue_libpayload_consumer_exported_shared_libraries) \ 445 $(ue_update_metadata_protos_exported_shared_libraries) 446 447ue_libpayload_generator_src_files := \ 448 payload_generator/ab_generator.cc \ 449 payload_generator/annotated_operation.cc \ 450 payload_generator/blob_file_writer.cc \ 451 payload_generator/block_mapping.cc \ 452 payload_generator/bzip.cc \ 453 payload_generator/cycle_breaker.cc \ 454 payload_generator/delta_diff_generator.cc \ 455 payload_generator/delta_diff_utils.cc \ 456 payload_generator/ext2_filesystem.cc \ 457 payload_generator/extent_ranges.cc \ 458 payload_generator/extent_utils.cc \ 459 payload_generator/full_update_generator.cc \ 460 payload_generator/graph_types.cc \ 461 payload_generator/graph_utils.cc \ 462 payload_generator/inplace_generator.cc \ 463 payload_generator/payload_file.cc \ 464 payload_generator/payload_generation_config.cc \ 465 payload_generator/payload_signer.cc \ 466 payload_generator/raw_filesystem.cc \ 467 payload_generator/tarjan.cc \ 468 payload_generator/topological_sort.cc 469 470ifeq ($(HOST_OS),linux) 471# Build for the host. 472include $(CLEAR_VARS) 473LOCAL_MODULE := libpayload_generator 474LOCAL_MODULE_CLASS := STATIC_LIBRARIES 475LOCAL_CPP_EXTENSION := .cc 476LOCAL_CLANG := true 477LOCAL_CFLAGS := $(ue_common_cflags) 478LOCAL_CPPFLAGS := $(ue_common_cppflags) 479LOCAL_LDFLAGS := $(ue_common_ldflags) 480LOCAL_C_INCLUDES := $(ue_common_c_includes) 481LOCAL_STATIC_LIBRARIES := \ 482 libpayload_consumer \ 483 update_metadata-protos \ 484 $(ue_libpayload_consumer_exported_static_libraries) \ 485 $(ue_update_metadata_protos_exported_static_libraries) 486LOCAL_SHARED_LIBRARIES := \ 487 $(ue_common_shared_libraries) \ 488 $(ue_libpayload_generator_exported_shared_libraries) \ 489 $(ue_libpayload_consumer_exported_shared_libraries) \ 490 $(ue_update_metadata_protos_exported_shared_libraries) 491LOCAL_SRC_FILES := $(ue_libpayload_generator_src_files) 492include $(BUILD_HOST_STATIC_LIBRARY) 493endif # HOST_OS == linux 494 495# Build for the target. 496include $(CLEAR_VARS) 497LOCAL_MODULE := libpayload_generator 498LOCAL_MODULE_CLASS := STATIC_LIBRARIES 499LOCAL_CPP_EXTENSION := .cc 500LOCAL_CLANG := true 501LOCAL_CFLAGS := $(ue_common_cflags) 502LOCAL_CPPFLAGS := $(ue_common_cppflags) 503LOCAL_LDFLAGS := $(ue_common_ldflags) 504LOCAL_C_INCLUDES := $(ue_common_c_includes) 505LOCAL_STATIC_LIBRARIES := \ 506 libpayload_consumer \ 507 update_metadata-protos \ 508 $(ue_libpayload_consumer_exported_static_libraries:-host=) \ 509 $(ue_update_metadata_protos_exported_static_libraries) 510LOCAL_SHARED_LIBRARIES := \ 511 $(ue_common_shared_libraries) \ 512 $(ue_libpayload_generator_exported_shared_libraries:-host=) \ 513 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 514 $(ue_update_metadata_protos_exported_shared_libraries) 515LOCAL_SRC_FILES := $(ue_libpayload_generator_src_files) 516include $(BUILD_STATIC_LIBRARY) 517 518# delta_generator (type: executable) 519# ======================================================== 520# server-side delta generator. 521ue_delta_generator_src_files := \ 522 payload_generator/generate_delta_main.cc 523 524ifeq ($(HOST_OS),linux) 525# Build for the host. 526include $(CLEAR_VARS) 527LOCAL_MODULE := delta_generator 528LOCAL_MODULE_CLASS := EXECUTABLES 529LOCAL_CPP_EXTENSION := .cc 530LOCAL_CLANG := true 531LOCAL_CFLAGS := $(ue_common_cflags) 532LOCAL_CPPFLAGS := $(ue_common_cppflags) 533LOCAL_LDFLAGS := $(ue_common_ldflags) 534LOCAL_C_INCLUDES := $(ue_common_c_includes) 535LOCAL_STATIC_LIBRARIES := \ 536 libpayload_consumer \ 537 libpayload_generator \ 538 $(ue_libpayload_consumer_exported_static_libraries) \ 539 $(ue_libpayload_generator_exported_static_libraries) 540LOCAL_SHARED_LIBRARIES := \ 541 $(ue_common_shared_libraries) \ 542 $(ue_libpayload_consumer_exported_shared_libraries) \ 543 $(ue_libpayload_generator_exported_shared_libraries) 544LOCAL_SRC_FILES := $(ue_delta_generator_src_files) 545include $(BUILD_HOST_EXECUTABLE) 546endif # HOST_OS == linux 547 548# Build for the target. 549include $(CLEAR_VARS) 550LOCAL_MODULE := delta_generator 551LOCAL_MODULE_CLASS := EXECUTABLES 552LOCAL_CPP_EXTENSION := .cc 553LOCAL_CLANG := true 554LOCAL_CFLAGS := $(ue_common_cflags) 555LOCAL_CPPFLAGS := $(ue_common_cppflags) 556LOCAL_LDFLAGS := $(ue_common_ldflags) 557LOCAL_C_INCLUDES := $(ue_common_c_includes) 558LOCAL_STATIC_LIBRARIES := \ 559 libpayload_consumer \ 560 libpayload_generator \ 561 $(ue_libpayload_consumer_exported_static_libraries:-host=) \ 562 $(ue_libpayload_generator_exported_static_libraries:-host=) 563LOCAL_SHARED_LIBRARIES := \ 564 $(ue_common_shared_libraries) \ 565 $(ue_libpayload_consumer_exported_shared_libraries:-host=) \ 566 $(ue_libpayload_generator_exported_shared_libraries:-host=) 567LOCAL_SRC_FILES := $(ue_delta_generator_src_files) 568include $(BUILD_EXECUTABLE) 569 570# libupdate_engine_client 571# ======================================================== 572include $(CLEAR_VARS) 573LOCAL_MODULE := libupdate_engine_client 574LOCAL_CFLAGS := \ 575 -Wall \ 576 -Werror \ 577 -Wno-unused-parameter \ 578 -DUSE_DBUS=$(local_use_dbus) \ 579 -DUSE_BINDER=$(local_use_binder) 580LOCAL_CLANG := true 581LOCAL_CPP_EXTENSION := .cc 582# TODO(deymo): Remove "external/cros/system_api/dbus" when dbus is not used. 583LOCAL_C_INCLUDES := \ 584 $(LOCAL_PATH)/client_library/include \ 585 external/cros/system_api/dbus \ 586 system \ 587 external/gtest/include 588LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/client_library/include 589LOCAL_SHARED_LIBRARIES := \ 590 libchrome \ 591 libbrillo 592LOCAL_SRC_FILES := \ 593 client_library/client.cc \ 594 update_status_utils.cc 595 596# We can only compile support for one IPC mechanism. If both "binder" and "dbus" 597# are defined, we prefer binder. 598ifeq ($(local_use_binder),1) 599LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder_bindings 600LOCAL_SHARED_LIBRARIES += \ 601 libbinder \ 602 libbrillo-binder \ 603 libutils 604LOCAL_SRC_FILES += \ 605 binder_bindings/android/brillo/IUpdateEngine.aidl \ 606 binder_bindings/android/brillo/IUpdateEngineStatusCallback.aidl \ 607 client_library/client_binder.cc \ 608 parcelable_update_engine_status.cc 609else # local_use_binder != 1 610LOCAL_STATIC_LIBRARIES := \ 611 update_engine_client-dbus-proxies 612LOCAL_SHARED_LIBRARIES += \ 613 libchrome-dbus \ 614 libbrillo-dbus 615LOCAL_SRC_FILES += \ 616 client_library/client_dbus.cc 617endif # local_use_binder == 1 618 619include $(BUILD_SHARED_LIBRARY) 620 621# Weave schema files 622# ======================================================== 623include $(CLEAR_VARS) 624LOCAL_MODULE := updater.json 625LOCAL_MODULE_CLASS := ETC 626LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved/traits 627LOCAL_SRC_FILES := weaved/traits/$(LOCAL_MODULE) 628include $(BUILD_PREBUILT) 629 630# Update payload signing public key. 631# ======================================================== 632ifdef BRILLO 633include $(CLEAR_VARS) 634LOCAL_MODULE := brillo-update-payload-key 635LOCAL_MODULE_CLASS := ETC 636LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/update_engine 637LOCAL_MODULE_STEM := update-payload-key.pub.pem 638LOCAL_SRC_FILES := update_payload_key/brillo-update-payload-key.pub.pem 639LOCAL_BUILT_MODULE_STEM := update_payload_key/brillo-update-payload-key.pub.pem 640include $(BUILD_PREBUILT) 641endif # BRILLO 642 643# Brillo update payload generation script 644# ======================================================== 645ifeq ($(HOST_OS),linux) 646include $(CLEAR_VARS) 647LOCAL_SRC_FILES := scripts/brillo_update_payload 648LOCAL_MODULE := brillo_update_payload 649LOCAL_MODULE_CLASS := EXECUTABLES 650LOCAL_IS_HOST_MODULE := true 651LOCAL_MODULE_TAGS := optional 652LOCAL_REQUIRED_MODULES := \ 653 delta_generator \ 654 shflags 655include $(BUILD_PREBUILT) 656endif # HOST_OS == linux 657