#!/usr/bin/env bash
#
# Copyright (c) 2020-2022, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
test_setup() {
	# Only need to run on debug
	echo "Building only in DEBUG mode."
	set_hook_var "bin_mode" "debug"
}

pre_tf_build() {
	build_scmi_lib_scp_tools
}

post_tf_archive() {
	build_tf_for_scp_tools

	build_fip_for_scp_tools
}

post_fetch_tf_resource() {
	echo "archive.. $archive"

	cp "$archive/scp_rom_bypass.bin" "$archive/scp_bl1.bin"

	gen_recovery_image \
		"$archive/bl1.bin" \
		"$archive/bl2.bin" \
		"$archive/bl31.bin" \
		"$archive/fip.bin" \
		"$archive/scp_bl1.bin"

	payload_type="scp_tests_scmi" juno_revision="juno-r0" gen_juno_yaml
}

post_package() {
	use_debug_bins
}
