blob: d107b78a17fc3ea0625a2bcccc63ead5ef94b25a [file] [log] [blame]
Steven Morelandc5c19372017-05-05 17:16:10 -07001//
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
17// WARNING: Everything listed here will be built on ALL platforms,
18// including x86, the emulator, and the SDK. Modules must be uniquely
19// named (liblights.panda), and must build everywhere, or limit themselves
20// to only building on ARM if they include assembly. Individual makefiles
21// are responsible for having their own logic, for fine-grained control.
22
23// trusty_keymaster is a binary used only for on-device testing. It
24// runs Trusty Keymaster through a basic set of operations with RSA
25// and ECDSA keys.
26cc_binary {
27 name: "trusty_keymaster_tipc",
Hung-ying Tyan063a3fa2017-07-28 19:09:33 +080028 vendor: true,
Steven Morelandc5c19372017-05-05 17:16:10 -070029 srcs: [
Roberto Pereira22a3b1f2018-07-20 15:22:44 -070030 "ipc/trusty_keymaster_ipc.cpp",
31 "legacy/trusty_keymaster_device.cpp",
32 "legacy/trusty_keymaster_main.cpp",
Steven Morelandc5c19372017-05-05 17:16:10 -070033 ],
Elliott Hughesdc699a22018-02-16 17:58:14 -080034 cflags: [
35 "-Wall",
36 "-Werror",
37 ],
Roberto Pereira22a3b1f2018-07-20 15:22:44 -070038
39 local_include_dirs: ["include"],
40
Steven Morelandc5c19372017-05-05 17:16:10 -070041 shared_libs: [
42 "libcrypto",
43 "libcutils",
44 "libkeymaster_portable",
Steven Morelandc5c19372017-05-05 17:16:10 -070045 "libtrusty",
46 "libkeymaster_messages",
47 "libsoftkeymasterdevice",
48 "liblog",
49 ],
50}
51
52// keystore.trusty is the HAL used by keystore on Trusty devices.
53cc_library_shared {
54 name: "keystore.trusty",
Hung-ying Tyan063a3fa2017-07-28 19:09:33 +080055 vendor: true,
Steven Morelandc5c19372017-05-05 17:16:10 -070056 relative_install_path: "hw",
57 srcs: [
Roberto Pereira22a3b1f2018-07-20 15:22:44 -070058 "ipc/trusty_keymaster_ipc.cpp",
59 "legacy/module.cpp",
60 "legacy/trusty_keymaster_device.cpp",
Steven Morelandc5c19372017-05-05 17:16:10 -070061 ],
62
63 cflags: [
64 "-fvisibility=hidden",
65 "-Wall",
66 "-Werror",
67 ],
68
Roberto Pereira22a3b1f2018-07-20 15:22:44 -070069 local_include_dirs: ["include"],
70
Steven Morelandc5c19372017-05-05 17:16:10 -070071 shared_libs: [
72 "libcrypto",
73 "libkeymaster_messages",
74 "libtrusty",
75 "liblog",
76 "libcutils",
77 ],
Hung-ying Tyan063a3fa2017-07-28 19:09:33 +080078 header_libs: ["libhardware_headers"],
Steven Morelandc5c19372017-05-05 17:16:10 -070079}
Roberto Pereira24261972018-07-30 14:54:58 -070080
81cc_binary {
82 name: "android.hardware.keymaster@3.0-service.trusty",
83 defaults: ["hidl_defaults"],
84 relative_install_path: "hw",
85 vendor: true,
86 init_rc: ["3.0/android.hardware.keymaster@3.0-service.trusty.rc"],
87 srcs: [
88 "3.0/service.cpp",
89 "3.0/TrustyKeymaster3Device.cpp",
90 "ipc/trusty_keymaster_ipc.cpp",
91 "TrustyKeymaster.cpp",
92 ],
93
94 local_include_dirs: ["include"],
95
96 shared_libs: [
97 "liblog",
98 "libcutils",
99 "libdl",
100 "libbase",
101 "libutils",
102 "libhardware",
103 "libhidlbase",
104 "libhidltransport",
105 "libtrusty",
106 "libkeymaster_messages",
107 "libkeymaster3device",
108 "android.hardware.keymaster@3.0"
109 ],
110}
Matthew Maurerb321b412019-03-18 13:59:28 -0700111
112cc_binary {
113 name: "android.hardware.keymaster@4.0-service.trusty",
114 defaults: ["hidl_defaults"],
115 relative_install_path: "hw",
116 vendor: true,
117 init_rc: ["4.0/android.hardware.keymaster@4.0-service.trusty.rc"],
118 srcs: [
119 "4.0/service.cpp",
120 "4.0/TrustyKeymaster4Device.cpp",
121 "ipc/trusty_keymaster_ipc.cpp",
122 "TrustyKeymaster.cpp",
123 ],
124
125 local_include_dirs: ["include"],
126
127 shared_libs: [
128 "liblog",
129 "libcutils",
130 "libdl",
131 "libbase",
132 "libutils",
133 "libhardware",
134 "libhidlbase",
135 "libhidltransport",
136 "libtrusty",
137 "libkeymaster_messages",
138 "libkeymaster4",
139 "android.hardware.keymaster@4.0"
140 ],
141}