From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shinya Kuribayashi Date: Wed, 26 Sep 2007 23:24:24 +0900 Subject: [U-Boot-Users] [PATCH 8/9] Generate include/autoconf.mk from board config files In-Reply-To: <20070925182710.18532.84181.stgit@trillian.cg.shawcable.net> References: <20070925182023.18532.93655.stgit@trillian.cg.shawcable.net> <20070925182710.18532.84181.stgit@trillian.cg.shawcable.net> Message-ID: <46FA6B98.202@ruby.dti.ne.jp> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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.