[U-Boot-Users] [PATCH 8/9] Generate include/autoconf.mk from board config files

Shinya Kuribayashi skuribay at ruby.dti.ne.jp
Wed Sep 26 16:24:24 CEST 2007


Grant Likely wrote:
> diff --git a/tools/scripts/define2mk.sed b/tools/scripts/define2mk.sed
> new file mode 100644
> index 0000000..6464627
> --- /dev/null
> +++ b/tools/scripts/define2mk.sed
> @@ -0,0 +1,29 @@
> +#
> +# Sed script to parse CPP macros and generate output usable by make
> +#
> +# It is expected that this script is fed the output of 'gpp -dM'

'cpp -dM'

> +# which preprocesses the common.h header files and outputs the final
> +# list of CPP macros (and whitespace is sanitized)
> +#
> +
> +# Only process values prefixed with #define CONFIG_
> +/^#define CONFIG_[A-Za-z0-9_]\+/ {
> +	# Strip the #define prefix
> +	s/#define *//;
> +	# Change to form CONFIG_*=VALUE
> +	s/ \+/=/;
> +	# Drop trailing spaces
> +	s/ *$//;
> +	# drop quotes around string values
> +	s/="\(.*\)"$/=\1/;
> +	# Concatenate string values
> +	s/" *"//g;
> +	# Wrap non-numeral values with quotes
> +	s/=\(.*\?[^0-9].*\)$/=\"\1\"/;
> +	# Change '1' and empty values to "y" (not perfect, but
> +	# supports conditional compilation in the makefiles
> +	s/=$/=y/;
> +	s/=1$/=y/;
> +	# print the line
> +	p
> +}

It seems scripts works, but I feel like a little bit hard coded.
FWIW how Linux work around this sort of job? I have to check..
Anyway, I don't intend to object this patch. Please go ahead :-)

Thanks,

    Shinya Kuribayashi

P.S.
The remaining patches are also Ok for me.




More information about the U-Boot mailing list