//
// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
cc_library_shared {
    name: "nfc_nci_nxp",
    defaults: ["hidl_defaults"],
    proprietary: true,

    cflags: [
        "-Wall",
        "-Werror",
        "-Wextra",
    ],

    srcs: [
        "halimpl/dnld/phDnldNfc.cc",
        "halimpl/dnld/phDnldNfc_Internal.cc",
        "halimpl/dnld/phDnldNfc_Utils.cc",
        "halimpl/dnld/phNxpNciHal_Dnld.cc",
        "halimpl/hal/phNxpNciHal.cc",
        "halimpl/hal/phNxpNciHal_NfcDepSWPrio.cc",
        "halimpl/hal/phNxpNciHal_dta.cc",
        "halimpl/hal/phNxpNciHal_ext.cc",
        "halimpl/log/phNxpLog.cc",
        "halimpl/self-test/phNxpNciHal_SelfTest.cc",
        "halimpl/src/adaptation/EseAdaptation.cpp",
        "halimpl/tml/phDal4Nfc_messageQueueLib.cc",
        "halimpl/tml/phOsalNfc_Timer.cc",
        "halimpl/tml/phTmlNfc.cc",
        "halimpl/tml/phTmlNfc_i2c.cc",
        "halimpl/tml/spi_spm.cc",
        "halimpl/utils/NxpNfcCapability.cpp",
        "halimpl/utils/phNxpConfig.cpp",
        "halimpl/utils/phNxpNciHal_utils.cc",
        "halimpl/utils/sparse_crc32.cc",
    ],

    local_include_dirs: [
        "halimpl/dnld",
        "halimpl/hal",
        "halimpl/log",
        "halimpl/self-test",
        "halimpl/src/include",
        "halimpl/tml",
        "halimpl/utils",
    ],

    export_include_dirs: [
        "extns/impl",
        "halimpl/common",
        "halimpl/inc",
    ],

    shared_libs: [
        "android.hardware.nfc@1.0",
        "android.hardware.nfc@1.1",
        "android.hardware.secure_element@1.0",
        "libbase",
        "libcutils",
        "libhardware",
        "libhardware_legacy",
        "libhidlbase",
        "libhidltransport",
        "liblog",
        "libutils",
        "ese_spi_nxp",
        "vendor.nxp.nxpese@1.0",
    ],
}

cc_binary {
    name: "android.hardware.nfc@1.1-service",
    defaults: ["hidl_defaults"],
    proprietary: true,
    init_rc: ["1.1/android.hardware.nfc@1.1-service.rc"],
    relative_install_path: "hw",
    srcs: [
        "1.1/NxpNfcService.cpp",
        "1.1/Nfc.cpp",
        "extns/impl/NxpNfc.cpp",
    ],

    shared_libs: [
        "nfc_nci_nxp",
        "libbase",
        "libcutils",
        "libhardware",
        "liblog",
        "libutils",
        "android.hardware.nfc@1.0",
        "android.hardware.nfc@1.1",
        "libhidlbase",
        "libhidltransport",
        "libhwbinder",
        "vendor.nxp.nxpese@1.0",
        "ese_spi_nxp",
        "vendor.nxp.nxpnfc@1.0",
    ],
}
