From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marc Singer Date: Wed, 6 Aug 2003 17:47:16 -0700 Subject: [U-Boot-Users] Preparing a KEV7a400 patch In-Reply-To: <20030806233049.AE09CC59E4@atlas.denx.de> References: <20030806223427.GA7826@buici.com> <20030806233049.AE09CC59E4@atlas.denx.de> Message-ID: <20030807004716.GA20846@buici.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Thu, Aug 07, 2003 at 01:30:44AM +0200, Wolfgang Denk wrote: > In message <20030806223427.GA7826@buici.com> you wrote: > > > > > Can you please split your patch in two separate parts: one with the > > > support for the new Sharp KEV7A400 board, and another one to use your > > > Perl script? > > > > That's an interesting request. There isn't really a way to separate > > them this way since the configuration control script is used to divide > > the LHA7A400 implementation of the ARM920 from the Samsung > > implementation. > > Please try it. My target won't compile without it. I can separate it, but MAKEALL will fail. > Most probably I will merge the KEV7A400 board support quickly, but > spend some time playing with the configuration control script before > I add it. How about the other way around. I'll send you the configuration script portion. It's very small. > Ummm... and what do you need perl for? Don't any more. > > > # Copyright (c) 2003 > > # Marc Singer > > Please include a GPL header. Sure. Note that mkconfig doesn't. > > > # The macro CPP may refer to 'gcc -E'. This definition is not > > # compatible with this use of the preprocessor because the input file > > # is a header and not a source file. Should there be a dependency on > > # a target-specific macro, another method must be found. > > Please explain this comment, I don't understand it. Found another way. It's removed. > > > CPP=cpp > > [ -z "$GREP" ] && GREP=grep > > [ -z "$SED" ] && SED=sed > > [ -z "$SORT" ] && SORT=sort > > Any specific reason for not using something like this: > > : ${GREP:=grep} ${SED:=sed} ${SORT:=sort} Hand't thought of it. Changed. I'm attaching a patch with just the configuration patches. I found another method of invoking cpp that ought to meet your expectations. Cheers. -------------- next part -------------- diff -ruN --exclude '*.o' --exclude='*.map' --exclude '*~' --exclude '*-orig' --exclude=.depend --exclude=configx.mk --exclude='*.srec' --exclude='*.a' u-boot-0.4.0/Makefile u-boot/Makefile --- u-boot-0.4.0/Makefile 2003-06-26 15:04:09.000000000 -0700 +++ u-boot/Makefile 2003-07-11 22:40:37.000000000 -0700 @@ -118,7 +118,7 @@ ######################################################################### -all: u-boot.srec u-boot.bin System.map +all: configx.mk u-boot.srec u-boot.bin System.map install: all -cp u-boot.bin /tftpboot/u-boot.bin @@ -157,6 +157,10 @@ grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > System.map +.PHONY: configx.mk +configx.mk: + @./mkconfigx + ######################################################################### else all install u-boot u-boot.srec depend dep: @@ -167,7 +171,7 @@ ######################################################################### unconfig: - rm -f include/config.h include/config.mk + rm -f include/config.h include/config.mk configx.mk #======================================================================== # PowerPC diff -ruN --exclude '*.o' --exclude='*.map' --exclude '*~' --exclude '*-orig' --exclude=.depend --exclude=configx.mk --exclude='*.srec' --exclude='*.a' u-boot-0.4.0/mkconfigx u-boot/mkconfigx --- u-boot-0.4.0/mkconfigx 1969-12-31 16:00:00.000000000 -0800 +++ u-boot/mkconfigx 2003-08-06 17:30:43.000000000 -0700 @@ -0,0 +1,48 @@ +#!/bin/sh +# +# mkconfigx +# +# Copyright (c) 2003 +# Marc Singer +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# Generate a configuration file to control building +# (compiling/linking). The output may be included in Makefiles to +# select which source files to compile and link. +# +# Here, we select configuration entries of the form: +# +# #define CONFIG_XXX 1 +# +# where XXX is an enabled configuration option. +# +# + +CONFIG=configx.mk + +echo > $CONFIG +echo "# Automatically generated - do not edit" >> $CONFIG +echo >> $CONFIG + +echo '#include "include/config.h"' | ${CPP:=cpp -E} -Iinclude -dM -\ + | ${GREP:=grep} -E "define[ \t]+CONFIG_[^ \t]*[ \t]+1$"\ + | ${SED:=sed} -e "s/.*\(CONFIG_[^ \t]*\).*/\1=y/"\ + | ${SORT:=sort}\ + >> $CONFIG