report-targets2vars 869 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
#!/bin/sh

DISTCFG=build/distcfg.mk
[ -s "$DISTCFG" ] || exit 1

VARIABLES=

echo "graph { rankdir=LR;"
echo "  { node [height=.1,width=.3,fontname=Helvetica,fontsize=10];"

feat_vars()
{
FEATURE=
	while read first second rest; do
		case "$first" in
		\#[A-Z]*)
			continue;;	# overridden feature
		\#)			# feature mark
			case "$second" in
			profile/*)
				FEATURE=;;
			*)
				FEATURE="$second";;
			esac
			;;
		*)
			case "$second" in
			=|+=|?=)
				case "$first" in
				DISTCFG_MK|SUBPROFILES|FEATURES|IMAGE*|MKIMAGE_*)
					continue;;
				*)
					VAR="$first"
					VARIABLES="$VARIABLES; $VAR"
					;;
				esac
				;;
			*)
				continue;;
			esac
			;;
		esac
		[ -n "$FEATURE" -a -n "$VAR" ] || continue
		echo "  \"$FEATURE\" -- \"$VAR\";"
	done < "$DISTCFG"
	echo "  { node [shape=box]$VARIABLES; }"
}

feat_vars | LC_COLLATE=C sort -ru

echo "  }"
echo "}"