summaryrefslogtreecommitdiff
path: root/Android.mk (plain)
blob: a2fbb48afbf022bd5cc636d13ac69239a0a917ac
1#
2# Copyright 2016, The Android Open Source Project
3#
4# Permission is hereby granted, free of charge, to any person
5# obtaining a copy of this software and associated documentation
6# files (the "Software"), to deal in the Software without
7# restriction, including without limitation the rights to use, copy,
8# modify, merge, publish, distribute, sublicense, and/or sell copies
9# of the Software, and to permit persons to whom the Software is
10# furnished to do so, subject to the following conditions:
11#
12# The above copyright notice and this permission notice shall be
13# included in all copies or substantial portions of the Software.
14#
15# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22# SOFTWARE.
23#
24
25LOCAL_PATH := $(my-dir)
26
27avb_common_cflags := \
28 -D_FILE_OFFSET_BITS=64 \
29 -D_POSIX_C_SOURCE=199309L \
30 -Wa,--noexecstack \
31 -Werror \
32 -Wall \
33 -Wextra \
34 -Wformat=2 \
35 -Wno-psabi \
36 -Wno-unused-parameter \
37 -ffunction-sections \
38 -fstack-protector-strong \
39 -g
40avb_common_cppflags := \
41 -Wnon-virtual-dtor \
42 -fno-strict-aliasing
43avb_common_ldflags := \
44 -Wl,--gc-sections \
45 -rdynamic
46
47# Build libavb for the target (for e.g. fs_mgr usage).
48include $(CLEAR_VARS)
49LOCAL_MODULE := libavb_amlogic
50LOCAL_MODULE_HOST_OS := linux
51LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
52LOCAL_CLANG := true
53LOCAL_CFLAGS := $(avb_common_cflags) -DAVB_ENABLE_DEBUG -DAVB_COMPILATION
54LOCAL_LDFLAGS := $(avb_common_ldflags)
55LOCAL_SRC_FILES := \
56 libavb/avb_chain_partition_descriptor.c \
57 libavb/avb_crc32.c \
58 libavb/avb_crypto.c \
59 libavb/avb_descriptor.c \
60 libavb/avb_footer.c \
61 libavb/avb_hash_descriptor.c \
62 libavb/avb_hashtree_descriptor.c \
63 libavb/avb_kernel_cmdline_descriptor.c \
64 libavb/avb_property_descriptor.c \
65 libavb/avb_rsa.c \
66 libavb/avb_sha256.c \
67 libavb/avb_sha512.c \
68 libavb/avb_slot_verify.c \
69 libavb/avb_sysdeps_posix.c \
70 libavb/avb_util.c \
71 libavb/avb_vbmeta_image.c \
72 libavb/avb_version.c
73LOCAL_SHARED_LIBRARIES := liblog
74include $(BUILD_STATIC_LIBRARY)
75
76# Build avbctl for the target.
77include $(CLEAR_VARS)
78LOCAL_MODULE := avbctl_amlogic
79LOCAL_MODULE_CLASS := EXECUTABLES
80LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
81LOCAL_CPP_EXTENSION := .cc
82LOCAL_CLANG := true
83LOCAL_CFLAGS := $(avb_common_cflags) -DAVB_COMPILATION -DAVB_ENABLE_DEBUG
84LOCAL_CPPFLAGS := $(avb_common_cppflags)
85LOCAL_LDFLAGS := $(avb_common_ldflags)
86LOCAL_STATIC_LIBRARIES := \
87 libavb \
88 libfs_mgr
89LOCAL_SHARED_LIBRARIES := \
90 libbase \
91 libhidlbase \
92 libhidltransport \
93 libhwbinder \
94 libutils \
95 liblog \
96 android.hardware.boot@1.0
97LOCAL_SRC_FILES := \
98 libavb_ab/avb_ab_flow.c \
99 libavb_user/avb_ops_user.c \
100 tools/avbctl/avbctl.cc
101include $(BUILD_EXECUTABLE)
102
103include $(CLEAR_VARS)
104LOCAL_MODULE := bootctrl.amlogic
105LOCAL_MODULE_RELATIVE_PATH := hw
106LOCAL_REQUIRED_MODULES := libavb_amlogic
107LOCAL_SRC_FILES := \
108 libavb_ab/avb_ab_flow.c \
109 libavb_user/avb_ops_user.c \
110 boot_control/boot_control_avb.c
111LOCAL_CLANG := true
112LOCAL_CFLAGS := $(avb_common_cflags) -DAVB_COMPILATION -DAVB_ENABLE_DEBUG
113LOCAL_LDFLAGS := $(avb_common_ldflags)
114LOCAL_SHARED_LIBRARIES := libbase libcutils liblog
115LOCAL_STATIC_LIBRARIES := libfs_mgr libavb
116ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo OK),OK)
117LOCAL_PROPRIETARY_MODULE := true
118endif
119include $(BUILD_SHARED_LIBRARY)
120