#!/usr/bin/env bash
#
# Copyright (c) 2020, 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" gen_juno_yaml
}

post_package() {
	use_debug_bins
}
