#! /bin/sh

# Get a variable's value from a makefile:
#
# $ makefile-getvar Makefile VARIABLE VARIABLE ...
#
# If multiple variables are specified, they will be printed one per line.
#
# SPDX-FileCopyrightText: Copyright 2024 Arm Limited and/or its affiliates <open-source-office@arm.com>
# SPDX-License-Identifier: GPL-2.0-only

set -eu

if [ $# -lt 2 ]; then
	echo "Get a variable's value from a Makefile:"
	echo "$ makefile-getvar Makefile VARIABLE VARIABLE ..."
	exit 0
fi

MAKEFILE=$1
shift

if [ ! -f $MAKEFILE ]; then
	echo $MAKEFILE is not a file
	exit 1
fi

for VARIABLE in $*; do
	make -f - $VARIABLE.var <<EOF
include $MAKEFILE

%.var:
	@echo \$(\$*)
EOF
done
