blob: acd2b922ac727fa0d08f1070764994944567fd61 [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") {
# NOSORT
pkg_deps = [
"libbrillo",
"libchrome",
"libminijail",
"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",
]
configs += [ ":target_defaults" ]
}
static_library("libutils") {
sources = [
"utils/cbi_utils_impl.cc",
"utils/cr50_utils_impl.cc",
"utils/crossystem_utils_impl.cc",
"utils/dbus_utils.cc",
"utils/json_store.cc",
"utils/vpd_utils_impl.cc",
]
configs += [ ":target_defaults" ]
}
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/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/verify_rsu_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 = [ "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/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/verify_rsu_state_handler_test.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",
"utils/fake_cbi_utils.cc",
"utils/fake_vpd_utils.cc",
"utils/json_store_test.cc",
]
configs += [
"//common-mk:test",
":target_defaults",
":rmad_test_config",
]
deps = [
":librmad",
"//common-mk/testrunner",
]
}
}