blob: f6e60061a94f0d728bd62e42f7b2815efb6e802d [file] [log] [blame]
# Copyright 2021 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//common-mk/pkg_config.gni")
group("all") {
deps = [ ":rmad" ]
if (use.test) {
deps += [ ":rmad_test" ]
}
}
pkg_config("target_defaults") {
# Manually add the include path so that the generated hardware_verifier.pb.h
# can include runtime_probe.pb.h properly.
cflags = [ "-I${sysroot}/usr/include/runtime_probe/proto_bindings" ]
# NOSORT
pkg_deps = [
"libbrillo",
"libchrome",
"libcros_config",
"libminijail",
"libshill-client",
"libtpm_manager-client",
"libuser_data_auth-client",
"re2",
"vboot_host",
# system_api depends on protobuf (or protobuf-lite). It must appear
# before protobuf here or the linker flags won't be in the right
# order.
"system_api",
"protobuf",
]
}
static_library("libsystem") {
sources = [
"system/cryptohome_client_impl.cc",
"system/power_manager_client_impl.cc",
"system/runtime_probe_client_impl.cc",
"system/shill_client_impl.cc",
"system/tpm_manager_client_impl.cc",
]
configs += [ ":target_defaults" ]
}
static_library("libutils") {
sources = [
"utils/calibration_utils.cc",
"utils/cbi_utils_impl.cc",
"utils/cr50_utils_impl.cc",
"utils/cros_config_utils_impl.cc",
"utils/crossystem_utils_impl.cc",
"utils/dbus_utils.cc",
"utils/hardware_verifier_utils_impl.cc",
"utils/json_store.cc",
"utils/regions_utils_impl.cc",
"utils/vpd_utils_impl.cc",
]
configs += [ ":target_defaults" ]
deps = [ "//hardware_verifier/proto:hardware_verifier-protos" ]
}
static_library("libstate_handler") {
sources = [
"state_handler/base_state_handler.cc",
"state_handler/check_calibration_state_handler.cc",
"state_handler/components_repair_state_handler.cc",
"state_handler/device_destination_state_handler.cc",
"state_handler/finalize_state_handler.cc",
"state_handler/provision_device_state_handler.cc",
"state_handler/repair_complete_state_handler.cc",
"state_handler/restock_state_handler.cc",
"state_handler/run_calibration_state_handler.cc",
"state_handler/setup_calibration_state_handler.cc",
"state_handler/state_handler_manager.cc",
"state_handler/update_device_info_state_handler.cc",
"state_handler/update_ro_firmware_state_handler.cc",
"state_handler/welcome_screen_state_handler.cc",
"state_handler/write_protect_disable_complete_state_handler.cc",
"state_handler/write_protect_disable_method_state_handler.cc",
"state_handler/write_protect_disable_physical_state_handler.cc",
"state_handler/write_protect_disable_rsu_state_handler.cc",
"state_handler/write_protect_enable_physical_state_handler.cc",
]
configs += [ ":target_defaults" ]
deps = [
":libsystem",
":libutils",
]
}
static_library("librmad") {
sources = [
"dbus_service.cc",
"rmad_interface_impl.cc",
]
configs += [ ":target_defaults" ]
deps = [
":libstate_handler",
":libutils",
]
}
executable("rmad") {
sources = [ "main.cc" ]
configs += [ ":target_defaults" ]
deps = [ ":librmad" ]
}
if (use.test) {
pkg_config("rmad_test_config") {
pkg_deps = [
"libshill-client-test",
"libtpm_manager-client-test",
"libuser_data_auth-client-test",
]
}
executable("rmad_test") {
sources = [
"dbus_service_test.cc",
"rmad_interface_test.cc",
"state_handler/check_calibration_state_handler_test.cc",
"state_handler/components_repair_state_handler_test.cc",
"state_handler/device_destination_state_handler_test.cc",
"state_handler/repair_complete_state_handler_test.cc",
"state_handler/restock_state_handler_test.cc",
"state_handler/run_calibration_state_handler_test.cc",
"state_handler/setup_calibration_state_handler_test.cc",
"state_handler/state_handler_manager_test.cc",
"state_handler/state_handler_test_common.cc",
"state_handler/welcome_screen_state_handler_test.cc",
"state_handler/write_protect_disable_complete_state_handler_test.cc",
"state_handler/write_protect_disable_method_state_handler_test.cc",
"state_handler/write_protect_disable_physical_state_handler_test.cc",
"state_handler/write_protect_disable_rsu_state_handler_test.cc",
"state_handler/write_protect_enable_physical_state_handler_test.cc",
"system/cryptohome_client_test.cc",
"system/power_manager_client_test.cc",
"system/runtime_probe_client_test.cc",
"system/shill_client_test.cc",
"system/tpm_manager_client_test.cc",
"utils/cros_config_utils_test.cc",
"utils/fake_hardware_verifier_utils.cc",
"utils/json_store_test.cc",
"utils/regions_utils_impl_test.cc",
]
configs += [
"//common-mk:test",
":target_defaults",
":rmad_test_config",
]
deps = [
":librmad",
"//common-mk/testrunner",
]
}
}