Update builds files for new HALs. am: 5966163da6
am: bdf639ff43

Change-Id: Ia733e32330d41c89fd3615b76cc6c44452edb0f2
diff --git a/atrace/V1_0/build/Android.bp b/atrace/V1_0/build/Android.bp
new file mode 100644
index 0000000..a1160fa
--- /dev/null
+++ b/atrace/V1_0/build/Android.bp
@@ -0,0 +1,94 @@
+// This file was auto-generated. Do not edit manually.
+// Use launch_hal_test.py or update_makefiles.py in test/vts-testcase/hal/script/ to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+    name: "android.hardware.atrace@1.0-vts.spec",
+    hidl_gen_args: "-r android.hardware:hardware/interfaces",
+    srcs: [
+        ":android.hardware.atrace@1.0_hal",
+    ],
+    out: [
+        "android/hardware/atrace/1.0/AtraceDevice.vts",
+        "android/hardware/atrace/1.0/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.atrace@1.0-vts.driver_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.atrace@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/atrace/1.0/ $(genDir)/android/hardware/atrace/1.0/",
+    srcs: [
+        ":android.hardware.atrace@1.0_hal",
+    ],
+    out: [
+        "android/hardware/atrace/1.0/AtraceDevice.vts.cpp",
+        "android/hardware/atrace/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.atrace@1.0-vts.driver_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.atrace@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/atrace/1.0/ $(genDir)/android/hardware/atrace/1.0/",
+    srcs: [
+        ":android.hardware.atrace@1.0_hal",
+    ],
+    out: [
+        "android/hardware/atrace/1.0/AtraceDevice.vts.h",
+        "android/hardware/atrace/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.atrace@1.0-vts.driver",
+    generated_sources: ["android.hardware.atrace@1.0-vts.driver_genc++"],
+    generated_headers: ["android.hardware.atrace@1.0-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.atrace@1.0-vts.driver_genc++_headers"],
+    defaults: ["VtsHalDriverDefaults"],
+    shared_libs: [],
+    static_libs: [
+        "android.hardware.atrace@1.0",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.atrace@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.atrace@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/atrace/1.0/ $(genDir)/android/hardware/atrace/1.0/",
+    srcs: [
+        ":android.hardware.atrace@1.0_hal",
+    ],
+    out: [
+        "android/hardware/atrace/1.0/AtraceDevice.vts.cpp",
+        "android/hardware/atrace/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.atrace@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.atrace@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/atrace/1.0/ $(genDir)/android/hardware/atrace/1.0/",
+    srcs: [
+        ":android.hardware.atrace@1.0_hal",
+    ],
+    out: [
+        "android/hardware/atrace/1.0/AtraceDevice.vts.h",
+        "android/hardware/atrace/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.atrace@1.0-vts.profiler",
+    generated_sources: ["android.hardware.atrace@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.atrace@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.atrace@1.0-vts.profiler_genc++_headers"],
+    defaults: ["VtsHalProfilerDefaults"],
+    shared_libs: [],
+    static_libs: [
+        "android.hardware.atrace@1.0",
+    ],
+}
+
diff --git a/bluetooth/a2dp/V1_0/build/Android.bp b/bluetooth/a2dp/V1_0/build/Android.bp
new file mode 100644
index 0000000..deab3c9
--- /dev/null
+++ b/bluetooth/a2dp/V1_0/build/Android.bp
@@ -0,0 +1,99 @@
+// This file was auto-generated. Do not edit manually.
+// Use launch_hal_test.py or update_makefiles.py in test/vts-testcase/hal/script/ to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+    name: "android.hardware.bluetooth.a2dp@1.0-vts.spec",
+    hidl_gen_args: "-r android.hardware:hardware/interfaces",
+    srcs: [
+        ":android.hardware.bluetooth.a2dp@1.0_hal",
+    ],
+    out: [
+        "android/hardware/bluetooth/a2dp/1.0/BluetoothAudioHost.vts",
+        "android/hardware/bluetooth/a2dp/1.0/BluetoothAudioOffload.vts",
+        "android/hardware/bluetooth/a2dp/1.0/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.bluetooth.a2dp@1.0-vts.driver_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.bluetooth.a2dp@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/bluetooth/a2dp/1.0/ $(genDir)/android/hardware/bluetooth/a2dp/1.0/",
+    srcs: [
+        ":android.hardware.bluetooth.a2dp@1.0_hal",
+    ],
+    out: [
+        "android/hardware/bluetooth/a2dp/1.0/BluetoothAudioHost.vts.cpp",
+        "android/hardware/bluetooth/a2dp/1.0/BluetoothAudioOffload.vts.cpp",
+        "android/hardware/bluetooth/a2dp/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.bluetooth.a2dp@1.0-vts.driver_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.bluetooth.a2dp@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/bluetooth/a2dp/1.0/ $(genDir)/android/hardware/bluetooth/a2dp/1.0/",
+    srcs: [
+        ":android.hardware.bluetooth.a2dp@1.0_hal",
+    ],
+    out: [
+        "android/hardware/bluetooth/a2dp/1.0/BluetoothAudioHost.vts.h",
+        "android/hardware/bluetooth/a2dp/1.0/BluetoothAudioOffload.vts.h",
+        "android/hardware/bluetooth/a2dp/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.bluetooth.a2dp@1.0-vts.driver",
+    generated_sources: ["android.hardware.bluetooth.a2dp@1.0-vts.driver_genc++"],
+    generated_headers: ["android.hardware.bluetooth.a2dp@1.0-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.bluetooth.a2dp@1.0-vts.driver_genc++_headers"],
+    defaults: ["VtsHalDriverDefaults"],
+    shared_libs: [],
+    static_libs: [
+        "android.hardware.bluetooth.a2dp@1.0",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.bluetooth.a2dp@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.bluetooth.a2dp@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/bluetooth/a2dp/1.0/ $(genDir)/android/hardware/bluetooth/a2dp/1.0/",
+    srcs: [
+        ":android.hardware.bluetooth.a2dp@1.0_hal",
+    ],
+    out: [
+        "android/hardware/bluetooth/a2dp/1.0/BluetoothAudioHost.vts.cpp",
+        "android/hardware/bluetooth/a2dp/1.0/BluetoothAudioOffload.vts.cpp",
+        "android/hardware/bluetooth/a2dp/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.bluetooth.a2dp@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.bluetooth.a2dp@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/bluetooth/a2dp/1.0/ $(genDir)/android/hardware/bluetooth/a2dp/1.0/",
+    srcs: [
+        ":android.hardware.bluetooth.a2dp@1.0_hal",
+    ],
+    out: [
+        "android/hardware/bluetooth/a2dp/1.0/BluetoothAudioHost.vts.h",
+        "android/hardware/bluetooth/a2dp/1.0/BluetoothAudioOffload.vts.h",
+        "android/hardware/bluetooth/a2dp/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.bluetooth.a2dp@1.0-vts.profiler",
+    generated_sources: ["android.hardware.bluetooth.a2dp@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.bluetooth.a2dp@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.bluetooth.a2dp@1.0-vts.profiler_genc++_headers"],
+    defaults: ["VtsHalProfilerDefaults"],
+    shared_libs: [],
+    static_libs: [
+        "android.hardware.bluetooth.a2dp@1.0",
+    ],
+}
+
diff --git a/configstore/V1_1/build/Android.bp b/configstore/V1_1/build/Android.bp
new file mode 100644
index 0000000..c5f74d1
--- /dev/null
+++ b/configstore/V1_1/build/Android.bp
@@ -0,0 +1,100 @@
+// This file was auto-generated. Do not edit manually.
+// Use launch_hal_test.py or update_makefiles.py in test/vts-testcase/hal/script/ to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+    name: "android.hardware.configstore@1.1-vts.spec",
+    hidl_gen_args: "-r android.hardware:hardware/interfaces",
+    srcs: [
+        ":android.hardware.configstore@1.1_hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.1/SurfaceFlingerConfigs.vts",
+        "android/hardware/configstore/1.1/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.configstore@1.1-vts.driver_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.configstore@1.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/configstore/1.1/ $(genDir)/android/hardware/configstore/1.1/",
+    srcs: [
+        ":android.hardware.configstore@1.1_hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.1/SurfaceFlingerConfigs.vts.cpp",
+        "android/hardware/configstore/1.1/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.configstore@1.1-vts.driver_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.configstore@1.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/configstore/1.1/ $(genDir)/android/hardware/configstore/1.1/",
+    srcs: [
+        ":android.hardware.configstore@1.1_hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.1/SurfaceFlingerConfigs.vts.h",
+        "android/hardware/configstore/1.1/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.configstore@1.1-vts.driver",
+    generated_sources: ["android.hardware.configstore@1.1-vts.driver_genc++"],
+    generated_headers: ["android.hardware.configstore@1.1-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.configstore@1.1-vts.driver_genc++_headers"],
+    defaults: ["VtsHalDriverDefaults"],
+    shared_libs: [
+        "android.hardware.configstore@1.0-vts.driver",
+    ],
+    static_libs: [
+        "android.hardware.configstore@1.0",
+        "android.hardware.configstore@1.1",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.configstore@1.1-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.configstore@1.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/configstore/1.1/ $(genDir)/android/hardware/configstore/1.1/",
+    srcs: [
+        ":android.hardware.configstore@1.1_hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.1/SurfaceFlingerConfigs.vts.cpp",
+        "android/hardware/configstore/1.1/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.configstore@1.1-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.configstore@1.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/configstore/1.1/ $(genDir)/android/hardware/configstore/1.1/",
+    srcs: [
+        ":android.hardware.configstore@1.1_hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.1/SurfaceFlingerConfigs.vts.h",
+        "android/hardware/configstore/1.1/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.configstore@1.1-vts.profiler",
+    generated_sources: ["android.hardware.configstore@1.1-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.configstore@1.1-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.configstore@1.1-vts.profiler_genc++_headers"],
+    defaults: ["VtsHalProfilerDefaults"],
+    shared_libs: [
+        "android.hardware.configstore@1.0-vts.profiler",
+    ],
+    static_libs: [
+        "android.hardware.configstore@1.0",
+        "android.hardware.configstore@1.1",
+    ],
+}
+
diff --git a/fastboot/V1_0/build/Android.bp b/fastboot/V1_0/build/Android.bp
new file mode 100644
index 0000000..9b64dfa
--- /dev/null
+++ b/fastboot/V1_0/build/Android.bp
@@ -0,0 +1,94 @@
+// This file was auto-generated. Do not edit manually.
+// Use launch_hal_test.py or update_makefiles.py in test/vts-testcase/hal/script/ to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+    name: "android.hardware.fastboot@1.0-vts.spec",
+    hidl_gen_args: "-r android.hardware:hardware/interfaces",
+    srcs: [
+        ":android.hardware.fastboot@1.0_hal",
+    ],
+    out: [
+        "android/hardware/fastboot/1.0/Fastboot.vts",
+        "android/hardware/fastboot/1.0/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.fastboot@1.0-vts.driver_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.fastboot@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/fastboot/1.0/ $(genDir)/android/hardware/fastboot/1.0/",
+    srcs: [
+        ":android.hardware.fastboot@1.0_hal",
+    ],
+    out: [
+        "android/hardware/fastboot/1.0/Fastboot.vts.cpp",
+        "android/hardware/fastboot/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.fastboot@1.0-vts.driver_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.fastboot@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/fastboot/1.0/ $(genDir)/android/hardware/fastboot/1.0/",
+    srcs: [
+        ":android.hardware.fastboot@1.0_hal",
+    ],
+    out: [
+        "android/hardware/fastboot/1.0/Fastboot.vts.h",
+        "android/hardware/fastboot/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.fastboot@1.0-vts.driver",
+    generated_sources: ["android.hardware.fastboot@1.0-vts.driver_genc++"],
+    generated_headers: ["android.hardware.fastboot@1.0-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.fastboot@1.0-vts.driver_genc++_headers"],
+    defaults: ["VtsHalDriverDefaults"],
+    shared_libs: [],
+    static_libs: [
+        "android.hardware.fastboot@1.0",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.fastboot@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.fastboot@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/fastboot/1.0/ $(genDir)/android/hardware/fastboot/1.0/",
+    srcs: [
+        ":android.hardware.fastboot@1.0_hal",
+    ],
+    out: [
+        "android/hardware/fastboot/1.0/Fastboot.vts.cpp",
+        "android/hardware/fastboot/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.fastboot@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.fastboot@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/fastboot/1.0/ $(genDir)/android/hardware/fastboot/1.0/",
+    srcs: [
+        ":android.hardware.fastboot@1.0_hal",
+    ],
+    out: [
+        "android/hardware/fastboot/1.0/Fastboot.vts.h",
+        "android/hardware/fastboot/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.fastboot@1.0-vts.profiler",
+    generated_sources: ["android.hardware.fastboot@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.fastboot@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.fastboot@1.0-vts.profiler_genc++_headers"],
+    defaults: ["VtsHalProfilerDefaults"],
+    shared_libs: [],
+    static_libs: [
+        "android.hardware.fastboot@1.0",
+    ],
+}
+
diff --git a/neuralnetworks/V1_2/build/Android.bp b/neuralnetworks/V1_2/build/Android.bp
new file mode 100644
index 0000000..6c40021
--- /dev/null
+++ b/neuralnetworks/V1_2/build/Android.bp
@@ -0,0 +1,104 @@
+// This file was auto-generated. Do not edit manually.
+// Use launch_hal_test.py or update_makefiles.py in test/vts-testcase/hal/script/ to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+    name: "android.hardware.neuralnetworks@1.2-vts.spec",
+    hidl_gen_args: "-r android.hardware:hardware/interfaces",
+    srcs: [
+        ":android.hardware.neuralnetworks@1.2_hal",
+    ],
+    out: [
+        "android/hardware/neuralnetworks/1.2/Device.vts",
+        "android/hardware/neuralnetworks/1.2/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.neuralnetworks@1.2-vts.driver_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.neuralnetworks@1.2 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/neuralnetworks/1.2/ $(genDir)/android/hardware/neuralnetworks/1.2/",
+    srcs: [
+        ":android.hardware.neuralnetworks@1.2_hal",
+    ],
+    out: [
+        "android/hardware/neuralnetworks/1.2/Device.vts.cpp",
+        "android/hardware/neuralnetworks/1.2/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.neuralnetworks@1.2-vts.driver_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.neuralnetworks@1.2 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/neuralnetworks/1.2/ $(genDir)/android/hardware/neuralnetworks/1.2/",
+    srcs: [
+        ":android.hardware.neuralnetworks@1.2_hal",
+    ],
+    out: [
+        "android/hardware/neuralnetworks/1.2/Device.vts.h",
+        "android/hardware/neuralnetworks/1.2/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.neuralnetworks@1.2-vts.driver",
+    generated_sources: ["android.hardware.neuralnetworks@1.2-vts.driver_genc++"],
+    generated_headers: ["android.hardware.neuralnetworks@1.2-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.neuralnetworks@1.2-vts.driver_genc++_headers"],
+    defaults: ["VtsHalDriverDefaults"],
+    shared_libs: [
+        "android.hardware.neuralnetworks@1.0-vts.driver",
+        "android.hardware.neuralnetworks@1.1-vts.driver",
+    ],
+    static_libs: [
+        "android.hardware.neuralnetworks@1.0",
+        "android.hardware.neuralnetworks@1.1",
+        "android.hardware.neuralnetworks@1.2",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.neuralnetworks@1.2-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.neuralnetworks@1.2 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/neuralnetworks/1.2/ $(genDir)/android/hardware/neuralnetworks/1.2/",
+    srcs: [
+        ":android.hardware.neuralnetworks@1.2_hal",
+    ],
+    out: [
+        "android/hardware/neuralnetworks/1.2/Device.vts.cpp",
+        "android/hardware/neuralnetworks/1.2/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.neuralnetworks@1.2-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.neuralnetworks@1.2 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/neuralnetworks/1.2/ $(genDir)/android/hardware/neuralnetworks/1.2/",
+    srcs: [
+        ":android.hardware.neuralnetworks@1.2_hal",
+    ],
+    out: [
+        "android/hardware/neuralnetworks/1.2/Device.vts.h",
+        "android/hardware/neuralnetworks/1.2/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.neuralnetworks@1.2-vts.profiler",
+    generated_sources: ["android.hardware.neuralnetworks@1.2-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.neuralnetworks@1.2-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.neuralnetworks@1.2-vts.profiler_genc++_headers"],
+    defaults: ["VtsHalProfilerDefaults"],
+    shared_libs: [
+        "android.hardware.neuralnetworks@1.0-vts.profiler",
+        "android.hardware.neuralnetworks@1.1-vts.profiler",
+    ],
+    static_libs: [
+        "android.hardware.neuralnetworks@1.0",
+        "android.hardware.neuralnetworks@1.1",
+        "android.hardware.neuralnetworks@1.2",
+    ],
+}
+
diff --git a/radio/V1_3/build/Android.bp b/radio/V1_3/build/Android.bp
new file mode 100644
index 0000000..8287754
--- /dev/null
+++ b/radio/V1_3/build/Android.bp
@@ -0,0 +1,118 @@
+// This file was auto-generated. Do not edit manually.
+// Use launch_hal_test.py or update_makefiles.py in test/vts-testcase/hal/script/ to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+    name: "android.hardware.radio@1.3-vts.spec",
+    hidl_gen_args: "-r android.hardware:hardware/interfaces",
+    srcs: [
+        ":android.hardware.radio@1.3_hal",
+    ],
+    out: [
+        "android/hardware/radio/1.3/Radio.vts",
+        "android/hardware/radio/1.3/RadioIndication.vts",
+        "android/hardware/radio/1.3/RadioResponse.vts",
+        "android/hardware/radio/1.3/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.radio@1.3-vts.driver_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.radio@1.3 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/radio/1.3/ $(genDir)/android/hardware/radio/1.3/",
+    srcs: [
+        ":android.hardware.radio@1.3_hal",
+    ],
+    out: [
+        "android/hardware/radio/1.3/Radio.vts.cpp",
+        "android/hardware/radio/1.3/RadioIndication.vts.cpp",
+        "android/hardware/radio/1.3/RadioResponse.vts.cpp",
+        "android/hardware/radio/1.3/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.radio@1.3-vts.driver_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.radio@1.3 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/radio/1.3/ $(genDir)/android/hardware/radio/1.3/",
+    srcs: [
+        ":android.hardware.radio@1.3_hal",
+    ],
+    out: [
+        "android/hardware/radio/1.3/Radio.vts.h",
+        "android/hardware/radio/1.3/RadioIndication.vts.h",
+        "android/hardware/radio/1.3/RadioResponse.vts.h",
+        "android/hardware/radio/1.3/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.radio@1.3-vts.driver",
+    generated_sources: ["android.hardware.radio@1.3-vts.driver_genc++"],
+    generated_headers: ["android.hardware.radio@1.3-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.radio@1.3-vts.driver_genc++_headers"],
+    defaults: ["VtsHalDriverDefaults"],
+    shared_libs: [
+        "android.hardware.radio@1.0-vts.driver",
+        "android.hardware.radio@1.1-vts.driver",
+        "android.hardware.radio@1.2-vts.driver",
+    ],
+    static_libs: [
+        "android.hardware.radio@1.0",
+        "android.hardware.radio@1.1",
+        "android.hardware.radio@1.2",
+        "android.hardware.radio@1.3",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.radio@1.3-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.radio@1.3 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/radio/1.3/ $(genDir)/android/hardware/radio/1.3/",
+    srcs: [
+        ":android.hardware.radio@1.3_hal",
+    ],
+    out: [
+        "android/hardware/radio/1.3/Radio.vts.cpp",
+        "android/hardware/radio/1.3/RadioIndication.vts.cpp",
+        "android/hardware/radio/1.3/RadioResponse.vts.cpp",
+        "android/hardware/radio/1.3/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.radio@1.3-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.radio@1.3 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/radio/1.3/ $(genDir)/android/hardware/radio/1.3/",
+    srcs: [
+        ":android.hardware.radio@1.3_hal",
+    ],
+    out: [
+        "android/hardware/radio/1.3/Radio.vts.h",
+        "android/hardware/radio/1.3/RadioIndication.vts.h",
+        "android/hardware/radio/1.3/RadioResponse.vts.h",
+        "android/hardware/radio/1.3/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.radio@1.3-vts.profiler",
+    generated_sources: ["android.hardware.radio@1.3-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.radio@1.3-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.radio@1.3-vts.profiler_genc++_headers"],
+    defaults: ["VtsHalProfilerDefaults"],
+    shared_libs: [
+        "android.hardware.radio@1.0-vts.profiler",
+        "android.hardware.radio@1.1-vts.profiler",
+        "android.hardware.radio@1.2-vts.profiler",
+    ],
+    static_libs: [
+        "android.hardware.radio@1.0",
+        "android.hardware.radio@1.1",
+        "android.hardware.radio@1.2",
+        "android.hardware.radio@1.3",
+    ],
+}
+
diff --git a/script/update_makefiles.py b/script/update_makefiles.py
index ce20dce..a84b666 100755
--- a/script/update_makefiles.py
+++ b/script/update_makefiles.py
@@ -21,15 +21,41 @@
 2. files matching: test/vts-testcase/hal/<hal_name>/<hal_version>/Android.bp
 
 Usage:
-  cd test/vts-testcase/hal; ./script/update_makefiles.py
+  To update build files for all HALs:
+     cd test/vts-testcase/hal; ./script/update_makefiles.py
+  To update build files for a specific HAL:
+     cd test/vts-testcase/hal; ./script/update_makefiles.py --hal nfc@1.0
 """
+import argparse
+import re
 
 from build.build_rule_gen import BuildRuleGen
 from utils.const import Constant
 
 if __name__ == "__main__":
+    parser = argparse.ArgumentParser(
+        description='Update build files for HAL driver/profiler.')
+    parser.add_argument(
+        '--hal',
+        dest='hal_package_name',
+        required=False,
+        help='hal package name (e.g. nfc@1.0).')
+    args = parser.parse_args()
+
     print 'Updating build rules.'
     build_rule_gen = BuildRuleGen(Constant.BP_WARNING_HEADER,
                                   Constant.HAL_PACKAGE_PREFIX,
                                   Constant.HAL_INTERFACE_PATH)
-    build_rule_gen.UpdateBuildRule(Constant.VTS_HAL_TEST_CASE_PATH)
+
+    if args.hal_package_name:
+        regex = re.compile(Constant.HAL_PACKAGE_NAME_PATTERN)
+        result = re.match(regex, args.hal_package_name)
+        if not result:
+            print 'Invalid hal package name. Exiting..'
+            sys.exit(1)
+        package_name, version = args.hal_package_name.split('@')
+        hal_list = [(package_name, version)]
+        build_rule_gen.UpdateHalDirBuildRule(hal_list,
+                                             Constant.VTS_HAL_TEST_CASE_PATH)
+    else:
+        build_rule_gen.UpdateBuildRule(Constant.VTS_HAL_TEST_CASE_PATH)
diff --git a/tests/safeunion/V1_0/build/Android.bp b/tests/safeunion/V1_0/build/Android.bp
new file mode 100644
index 0000000..0869ab5
--- /dev/null
+++ b/tests/safeunion/V1_0/build/Android.bp
@@ -0,0 +1,94 @@
+// This file was auto-generated. Do not edit manually.
+// Use launch_hal_test.py or update_makefiles.py in test/vts-testcase/hal/script/ to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+    name: "android.hardware.tests.safeunion@1.0-vts.spec",
+    hidl_gen_args: "-r android.hardware:hardware/interfaces",
+    srcs: [
+        ":android.hardware.tests.safeunion@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tests/safeunion/1.0/OtherInterface.vts",
+        "android/hardware/tests/safeunion/1.0/SafeUnion.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.tests.safeunion@1.0-vts.driver_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.tests.safeunion@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/tests/safeunion/1.0/ $(genDir)/android/hardware/tests/safeunion/1.0/",
+    srcs: [
+        ":android.hardware.tests.safeunion@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tests/safeunion/1.0/OtherInterface.vts.cpp",
+        "android/hardware/tests/safeunion/1.0/SafeUnion.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.tests.safeunion@1.0-vts.driver_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.tests.safeunion@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/tests/safeunion/1.0/ $(genDir)/android/hardware/tests/safeunion/1.0/",
+    srcs: [
+        ":android.hardware.tests.safeunion@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tests/safeunion/1.0/OtherInterface.vts.h",
+        "android/hardware/tests/safeunion/1.0/SafeUnion.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.tests.safeunion@1.0-vts.driver",
+    generated_sources: ["android.hardware.tests.safeunion@1.0-vts.driver_genc++"],
+    generated_headers: ["android.hardware.tests.safeunion@1.0-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.tests.safeunion@1.0-vts.driver_genc++_headers"],
+    defaults: ["VtsHalDriverDefaults"],
+    shared_libs: [],
+    static_libs: [
+        "android.hardware.tests.safeunion@1.0",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.tests.safeunion@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.tests.safeunion@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tests/safeunion/1.0/ $(genDir)/android/hardware/tests/safeunion/1.0/",
+    srcs: [
+        ":android.hardware.tests.safeunion@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tests/safeunion/1.0/OtherInterface.vts.cpp",
+        "android/hardware/tests/safeunion/1.0/SafeUnion.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.tests.safeunion@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -r android.hardware:hardware/interfaces android.hardware.tests.safeunion@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tests/safeunion/1.0/ $(genDir)/android/hardware/tests/safeunion/1.0/",
+    srcs: [
+        ":android.hardware.tests.safeunion@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tests/safeunion/1.0/OtherInterface.vts.h",
+        "android/hardware/tests/safeunion/1.0/SafeUnion.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.tests.safeunion@1.0-vts.profiler",
+    generated_sources: ["android.hardware.tests.safeunion@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.tests.safeunion@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.tests.safeunion@1.0-vts.profiler_genc++_headers"],
+    defaults: ["VtsHalProfilerDefaults"],
+    shared_libs: [],
+    static_libs: [
+        "android.hardware.tests.safeunion@1.0",
+    ],
+}
+