1//
2// Copyright (C) 2018 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.
15package {
16    // See: http://go/android-license-faq
17    // A large-scale-change added 'default_applicable_licenses' to import
18    // all of the 'license_kinds' from "hardware_nxp_nfc_license"
19    // to get the below license kinds:
20    //   SPDX-license-identifier-Apache-2.0
21    default_applicable_licenses: ["hardware_nxp_nfc_license"],
22}
23
24cc_library_shared {
25    name: "nfc_nci_nxp",
26    defaults: ["hidl_defaults"],
27    proprietary: true,
28
29    cflags: [
30        "-Wall",
31        "-Werror",
32        "-Wextra",
33        // Allow implicit fallthroughs in phDnldNfc_Internal.cc and phNxpConfig.cpp until they are fixed.
34        "-Wno-implicit-fallthrough",
35    ],
36
37    srcs: [
38        "halimpl/dnld/phDnldNfc.cc",
39        "halimpl/dnld/phDnldNfc_Internal.cc",
40        "halimpl/dnld/phDnldNfc_Utils.cc",
41        "halimpl/dnld/phNxpNciHal_Dnld.cc",
42        "halimpl/hal/phNxpNciHal.cc",
43        "halimpl/hal/phNxpNciHal_NfcDepSWPrio.cc",
44        "halimpl/hal/phNxpNciHal_dta.cc",
45        "halimpl/hal/phNxpNciHal_ext.cc",
46        "halimpl/log/phNxpLog.cc",
47        "halimpl/self-test/phNxpNciHal_SelfTest.cc",
48        "halimpl/src/adaptation/EseAdaptation.cpp",
49        "halimpl/tml/phDal4Nfc_messageQueueLib.cc",
50        "halimpl/tml/phOsalNfc_Timer.cc",
51        "halimpl/tml/phTmlNfc.cc",
52        "halimpl/tml/phTmlNfc_i2c.cc",
53        "halimpl/tml/spi_spm.cc",
54        "halimpl/utils/NxpNfcCapability.cpp",
55        "halimpl/utils/phNxpConfig.cpp",
56        "halimpl/utils/phNxpNciHal_utils.cc",
57        "halimpl/utils/sparse_crc32.cc",
58        "halimpl/utils/NfccPowerTracker.cpp",
59        "halimpl/mifare/NxpMfcReader.cc",
60    ],
61
62    local_include_dirs: [
63        "halimpl/dnld",
64        "halimpl/hal",
65        "halimpl/log",
66        "halimpl/self-test",
67        "halimpl/src/include",
68        "halimpl/tml",
69        "halimpl/utils",
70        "halimpl/mifare",
71    ],
72
73    export_include_dirs: [
74        "extns/impl",
75        "halimpl/common",
76        "halimpl/inc",
77    ],
78
79    shared_libs: [
80        "android.hardware.nfc@1.0",
81        "android.hardware.nfc@1.1",
82        "android.hardware.nfc@1.2",
83        "android.hardware.secure_element@1.0",
84        "libbase",
85        "libcutils",
86        "libhardware",
87        "libhardware_legacy",
88        "libhidlbase",
89        "liblog",
90        "libutils",
91        "ese_spi_nxp",
92        "vendor.nxp.nxpese@1.0",
93    ],
94}
95
96cc_defaults {
97    name: "nxp_nfc_defaults",
98    relative_install_path: "hw",
99    proprietary: true,
100    defaults: ["hidl_defaults"],
101    srcs: [
102        "extns/impl/NxpNfc.cpp",
103    ],
104
105    shared_libs: [
106        "nfc_nci_nxp",
107        "libbase",
108        "libcutils",
109        "libhardware",
110        "liblog",
111        "libutils",
112        "android.hardware.nfc@1.0",
113        "android.hardware.nfc@1.1",
114        "android.hardware.nfc@1.2",
115        "libhidlbase",
116        "vendor.nxp.nxpese@1.0",
117        "ese_spi_nxp",
118        "vendor.nxp.nxpnfc@1.0",
119    ],
120}
121
122cc_binary {
123    name: "android.hardware.nfc@1.1-service",
124    init_rc: ["1.1/android.hardware.nfc@1.1-service.rc"],
125    defaults: ["nxp_nfc_defaults"],
126    srcs: [
127        "1.1/NxpNfcService.cpp",
128        "1.1/Nfc.cpp",
129    ],
130}
131
132cc_binary {
133    name: "android.hardware.nfc@1.2-service",
134    init_rc: ["1.2/android.hardware.nfc@1.2-service.rc"],
135    defaults: ["nxp_nfc_defaults"],
136    srcs: [
137        "1.2/NxpNfcService.cpp",
138        "1.2/Nfc.cpp",
139    ],
140}
141