// This file is autogenerated by hidl-gen. Do not edit manually.

genrule {
    name: "android.hardware.nfc@1.0_genc++",
    tools: ["hidl-gen"],
    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0",
    srcs: [
        "types.hal",
        "INfc.hal",
        "INfcClientCallback.hal",
    ],
    out: [
        "android/hardware/nfc/1.0/types.cpp",
        "android/hardware/nfc/1.0/NfcAll.cpp",
        "android/hardware/nfc/1.0/NfcClientCallbackAll.cpp",
    ],
}

genrule {
    name: "android.hardware.nfc@1.0_genc++_headers",
    tools: ["hidl-gen"],
    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0",
    srcs: [
        "types.hal",
        "INfc.hal",
        "INfcClientCallback.hal",
    ],
    out: [
        "android/hardware/nfc/1.0/types.h",
        "android/hardware/nfc/1.0/INfc.h",
        "android/hardware/nfc/1.0/IHwNfc.h",
        "android/hardware/nfc/1.0/BnNfc.h",
        "android/hardware/nfc/1.0/BpNfc.h",
        "android/hardware/nfc/1.0/BsNfc.h",
        "android/hardware/nfc/1.0/INfcClientCallback.h",
        "android/hardware/nfc/1.0/IHwNfcClientCallback.h",
        "android/hardware/nfc/1.0/BnNfcClientCallback.h",
        "android/hardware/nfc/1.0/BpNfcClientCallback.h",
        "android/hardware/nfc/1.0/BsNfcClientCallback.h",
    ],
}

cc_library_shared {
    name: "android.hardware.nfc@1.0",
    generated_sources: ["android.hardware.nfc@1.0_genc++"],
    generated_headers: ["android.hardware.nfc@1.0_genc++_headers"],
    export_generated_headers: ["android.hardware.nfc@1.0_genc++_headers"],
    shared_libs: [
        "libhidlbase",
        "libhidltransport",
        "libhwbinder",
        "liblog",
        "libutils",
        "libcutils",
        "android.hidl.base@1.0",
    ],
    export_shared_lib_headers: [
        "libhidlbase",
        "libhidltransport",
        "libhwbinder",
        "libutils",
        "android.hidl.base@1.0",
    ],
}

genrule {
    name: "android.hardware.nfc.vts.driver@1.0_genc++",
    tools: ["hidl-gen", "vtsc"],
    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
    srcs: [
        "types.hal",
        "INfc.hal",
        "INfcClientCallback.hal",
    ],
    out: [
        "android/hardware/nfc/1.0/types.vts.cpp",
        "android/hardware/nfc/1.0/Nfc.vts.cpp",
        "android/hardware/nfc/1.0/NfcClientCallback.vts.cpp",
    ],
}

genrule {
    name: "android.hardware.nfc.vts.driver@1.0_genc++_headers",
    tools: ["hidl-gen", "vtsc"],
    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
    srcs: [
        "types.hal",
        "INfc.hal",
        "INfcClientCallback.hal",
    ],
    out: [
        "android/hardware/nfc/1.0/types.vts.h",
        "android/hardware/nfc/1.0/Nfc.vts.h",
        "android/hardware/nfc/1.0/NfcClientCallback.vts.h",
    ],
}

cc_library_shared {
    name: "android.hardware.nfc.vts.driver@1.0",
    generated_sources: ["android.hardware.nfc.vts.driver@1.0_genc++"],
    generated_headers: ["android.hardware.nfc.vts.driver@1.0_genc++_headers"],
    export_generated_headers: ["android.hardware.nfc.vts.driver@1.0_genc++_headers"],
    shared_libs: [
        "libhidlbase",
        "libhidltransport",
        "libhwbinder",
        "liblog",
        "libutils",
        "libcutils",
        "libvts_common",
        "libvts_datatype",
        "libvts_measurement",
        "libvts_multidevice_proto",
        "libcamera_metadata",
        "libprotobuf-cpp-full",
        "android.hidl.base@1.0",
        "android.hardware.nfc@1.0",
    ],
    export_shared_lib_headers: [
        "libhidlbase",
        "libhidltransport",
        "libhwbinder",
        "libutils",
        "android.hidl.base@1.0",
    ],
}

genrule {
    name: "android.hardware.nfc@1.0-INfc-vts.profiler_genc++",
    tools: ["hidl-gen", "vtsc"],
    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
    srcs: [
        "INfc.hal",
        "types.hal",
    ],
    out: [
        "android/hardware/nfc/1.0/Nfc.vts.cpp",
        "android/hardware/nfc/1.0/types.vts.cpp",
    ],
}

genrule {
    name: "android.hardware.nfc@1.0-INfc-vts.profiler_genc++_headers",
    tools: ["hidl-gen", "vtsc"],
    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
    srcs: [
        "INfc.hal",
        "types.hal",
    ],
    out: [
        "android/hardware/nfc/1.0/Nfc.vts.h",
        "android/hardware/nfc/1.0/types.vts.h",
    ],
}

cc_library_shared {
    name: "android.hardware.nfc@1.0-INfc-vts.profiler",
    generated_sources: ["android.hardware.nfc@1.0-INfc-vts.profiler_genc++"],
    generated_headers: ["android.hardware.nfc@1.0-INfc-vts.profiler_genc++_headers"],
    export_generated_headers: ["android.hardware.nfc@1.0-INfc-vts.profiler_genc++_headers"],
    shared_libs: [
        "libbase",
        "libhidlbase",
        "libhidltransport",
        "libvts_profiling",
        "libvts_multidevice_proto",
        "libprotobuf-cpp-full",
        "android.hidl.base@1.0",
        "android.hardware.nfc@1.0",
    ],
}

genrule {
    name: "android.hardware.nfc@1.0-INfcClientCallback-vts.profiler_genc++",
    tools: ["hidl-gen", "vtsc"],
    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
    srcs: [
        "INfcClientCallback.hal",
        "types.hal",
    ],
    out: [
        "android/hardware/nfc/1.0/NfcClientCallback.vts.cpp",
        "android/hardware/nfc/1.0/types.vts.cpp",
    ],
}

genrule {
    name: "android.hardware.nfc@1.0-INfcClientCallback-vts.profiler_genc++_headers",
    tools: ["hidl-gen", "vtsc"],
    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
    srcs: [
        "INfcClientCallback.hal",
        "types.hal",
    ],
    out: [
        "android/hardware/nfc/1.0/NfcClientCallback.vts.h",
        "android/hardware/nfc/1.0/types.vts.h",
    ],
}

cc_library_shared {
    name: "android.hardware.nfc@1.0-INfcClientCallback-vts.profiler",
    generated_sources: ["android.hardware.nfc@1.0-INfcClientCallback-vts.profiler_genc++"],
    generated_headers: ["android.hardware.nfc@1.0-INfcClientCallback-vts.profiler_genc++_headers"],
    export_generated_headers: ["android.hardware.nfc@1.0-INfcClientCallback-vts.profiler_genc++_headers"],
    shared_libs: [
        "libbase",
        "libhidlbase",
        "libhidltransport",
        "libvts_profiling",
        "libvts_multidevice_proto",
        "libprotobuf-cpp-full",
        "android.hidl.base@1.0",
        "android.hardware.nfc@1.0",
    ],
}
