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