On Mon, Feb 24, 2014 at 06:36:07AM +0100, Wolfgang Denk wrote: > Dear Masahiro, > > In message <[email protected]> you > wrote: > > > > +define cmd_generic-offsets > > + (set -e; \ > > + echo "#ifndef __GENERIC_ASM_OFFSETS_H__"; \ > > + echo "#define __GENERIC_ASM_OFFSETS_H__"; \ > > + echo "/*"; \ > > + echo " * DO NOT MODIFY."; \ > > + echo " *"; \ > > + echo " * This file was generated by Kbuild"; \ > > + echo " *"; \ > > + echo " */"; \ > > + echo ""; \ > > + sed -ne $(sed-y) $<; \ > > + echo ""; \ > > + echo "#endif" ) > $@ > > +endef > > Can we use here documents in cases like this, so the number of > shell command executions could be greatly reduced? > > Does something like this work? > > define cmd_generic-offsets \ > cat <<_END_ > $@ \ > #ifndef __GENERIC_ASM_OFFSETS_H__ \ > #define __GENERIC_ASM_OFFSETS_H__ \ > /* \ > * DO NOT MODIFY \ > * \ > * This file was generated by Kbuild \ > */ \ > $$(sed -ne $(sed-y) $<) \ > #endif \
We can use printf(1) to split this up into 3 parts, but it honestly
reads worse:
diff --git a/Kbuild b/Kbuild
index 1d89761..b8d747f 100644
--- a/Kbuild
+++ b/Kbuild
@@ -15,15 +15,14 @@ targets := $(generic-offsets-file) lib/asm-offsets.s
quiet_cmd_generic-offsets = GEN $@
define cmd_generic-offsets
(set -e; \
- echo "#ifndef __GENERIC_ASM_OFFSETS_H__"; \
- echo "#define __GENERIC_ASM_OFFSETS_H__"; \
- echo "/*"; \
- echo " * DO NOT MODIFY."; \
- echo " *"; \
- echo " * This file was generated by Kbuild"; \
- echo " *"; \
- echo " */"; \
- echo ""; \
+ printf "#ifndef __GENERIC_ASM_OFFSETS_H__\n\
+#define __GENERIC_ASM_OFFSETS_H__\n\
+/*\n\
+ * DO NOT MODIFY.\n\
+ *\n\
+ * This file was generated by Kbuild\n\
+ *\n\
+ */\n\n"; \
sed -ne $(sed-y) $<; \
echo ""; \
echo "#endif" ) > $@
(And it doesn't quite look right in the file, but that's just a matter
of massaging things. It also didn't seem to matter to overall build
time since it's a one-off generation, not a many-off generation. I'm OK
with this as-is.
--
Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

