
-----Original Message----- From: Kumar Gala [mailto:galak@kernel.crashing.org] Sent: Tuesday, August 18, 2009 11:07 PM To: Wolfgang Denk Cc: Wood Scott-B07421; U-Boot-Users ML; Hu Mingkai-B21284; Mike Frysinger Subject: Re: [PATCH 01/10] mkconfig: parse top level makefile target to multiple config targets
On Aug 18, 2009, at 2:37 AM, Mingkai Hu wrote:
To simplify the top level makefile it useful to be able to
paree the
top level makefile target to multiple individual target,
then put them
to the config.h and config.mk, leave the board config file
and board
makefile to handle the different targets.
mkconfig | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-)
I know you are swamped w/ARM.. but if we can make some progress on this one change it would be useful for 'next'.
thanks
- k
Hi Wolfgang,
How do you think of this method? Or can we handle the different options as follows?
MPC8536DS_NAND_config: unconfig @echo "" >$(obj)include/config.h; @echo "#define CONFIG_$(subst MPC8536DS_,,$(subst config,U_BOOT,$@))" \ > $(obj)include/config.h @$(MKCONFIG) -a MPC8536DS ppc mpc85xx mpc8536ds freescale @echo "CONFIG_$(subst MPC8536DS_,,$(subst config,U_BOOT,$@)) = y" \ >> $(obj)include/config.mk
If there's an orthogonal option, such as 36BIT, we have to handle it seperately:
MPC8536DS_NAND_config \ MPC8536DS_NAND_36BIT_config: unconfig @echo "" >$(obj)include/config.h; @if [ "$(findstring _36BIT_,$@" ] ; then \ echo "#define CONFIG_PHYS_64BIT" >>$(obj)include/config.h ; \ fi @echo "#define CONFIG_$(subst MPC8536DS_,,$(subst config,U_BOOT,$@))" \ > $(obj)include/config.h @$(MKCONFIG) -a MPC8536DS ppc mpc85xx mpc8536ds freescale @echo "CONFIG_$(subst MPC8536DS_,,$(subst config,U_BOOT,$@)) = y" \ >> $(obj)include/config.mk
Look forward to your comments.
Thanks, Mingkai
diff --git a/mkconfig b/mkconfig index b0bbbd1..d9e216d 100755 --- a/mkconfig +++ b/mkconfig @@ -10,12 +10,14 @@
APPEND=no # Default: Create new config file BOARD_NAME="" # Name to print in make output +TARGETS=""
while [ $# -gt 0 ] ; do case "$1" in --) shift ; break ;; -a) shift ; APPEND=yes ;; -n) shift ; BOARD_NAME="${1%%_config}" ; shift ;;
- -t) shift ; TARGETS="`echo $1 | sed 's:_: :g'` ${TARGETS}" ;
shift ;; *) break ;; esac done @@ -72,6 +74,10 @@ echo "BOARD = $4" >> config.mk
[ "$6" ] && [ "$6" != "NULL" ] && echo "SOC = $6" >> config.mk
+for i in ${TARGETS} ; do
- echo "CONFIG_OPT_${i} = y" >> config.mk ; done
# # Create board specific header file # @@ -82,6 +88,11 @@ else
config.h # Create new config file
fi echo "/* Automatically generated - do not edit */" >>config.h
+for i in ${TARGETS} ; do
- echo "#define CONFIG_OPT_${i} 1" >>config.h ; done
echo "#include <configs/$1.h>" >>config.h echo "#include <asm/config.h>" >>config.h
-- 1.5.4