
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.