Am 10/10/2012 04:03, schrieb Troy Kisky: > On 10/8/2012 6:38 AM, Stefano Babic wrote: >> On 04/10/2012 03:47, Troy Kisky wrote: >>> The '#' used as comments in the files cause the preprocessor >>> trouble, so change to /* */. >>> >>> Signed-off-by: Troy Kisky <troy.ki...@boundarydevices.com> >>> --- >> Hi Troy, >> >>> Makefile | 3 +- >>> board/esg/ima3-mx53/imximage.cfg | 120 ++++++----- >>> board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg | 90 ++++---- >>> board/freescale/mx25pdk/imximage.cfg | 77 +++---- >>> board/freescale/mx51evk/imximage.cfg | 114 +++++----- >>> board/freescale/mx53ard/imximage_dd3.cfg | 83 ++++---- >>> board/freescale/mx53evk/imximage.cfg | 86 ++++---- >>> board/freescale/mx53loco/imximage.cfg | 83 ++++---- >>> board/freescale/mx53smd/imximage.cfg | 83 ++++---- >>> board/freescale/mx6qarm2/imximage.cfg | 88 ++++---- >>> board/genesi/mx51_efikamx/imximage_mx.cfg | 132 ++++++------ >>> board/genesi/mx51_efikamx/imximage_sb.cfg | 126 +++++------ >>> board/ttcontrol/vision2/imximage_hynix.cfg | 295 >>> ++++++++++++++------------ >>> 13 files changed, 727 insertions(+), 653 deletions(-) >>> >> I see the C preprocessor as an optional feature, instead of a rule >> everybody must follow. >> >>> diff --git a/Makefile b/Makefile >>> index a40d4cc..64ff1b8 100644 >>> --- a/Makefile >>> +++ b/Makefile >>> @@ -431,7 +431,8 @@ $(obj)u-boot.img: $(obj)u-boot.bin >>> -d $< $@ >>> $(obj)u-boot.imx: $(obj)u-boot.bin >>> - $(obj)tools/mkimage -n $(CONFIG_IMX_CONFIG) -T imximage \ >>> + $(CC) -E -x c $(CONFIG_IMX_CONFIG) -I./include -o >>> $(obj)imxcfg.imx >>> + $(obj)tools/mkimage -n $(obj)imxcfg.imx -T imximage \ >>> -e $(CONFIG_SYS_TEXT_BASE) -d $< $@ >> In fact, adding this rule here requires that each board configuration >> must be changed. And for all of them, running the preprocessor is >> unnnecessary. >> >> What about to add this rule only to the Makefile of the boards that >> require preprocessing ? >> >> Best regards, >> Stefano Babic >> > How about this to do the job.... > > > > > > Subject: [PATCH 17/32] boards.cfg: run mx6q_4x_mt41j128.pcfg through C > preprocessor > > The '#' used as comments in the cfg file cause the preprocessor > trouble, so change to /* */. Also, rename mx6q_4x_mt41j128.cfg > to mx6q_4x_mt41j128.pcfg. > > Files with extension of .pcfg are run through the preprocessor > before being given to mkimage. > > Signed-off-by: Troy Kisky <troy.ki...@boundarydevices.com> > > --- > v4: Don't run every file through preprocessor, only .pcfg files > --- > .gitignore | 1 + > Makefile | 16 +++- > ...{mx6q_4x_mt41j128.cfg => mx6q_4x_mt41j128.pcfg} | 90 > ++++++++++---------- > boards.cfg | 4 +- > 4 files changed, 63 insertions(+), 48 deletions(-) > rename board/freescale/imx/ddr/{mx6q_4x_mt41j128.cfg => > mx6q_4x_mt41j128.pcfg} (65%) > > diff --git a/.gitignore b/.gitignore > index d91e91b..e5273bd 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -15,6 +15,7 @@ > *.swp > *.patch > *.bin > +*.pcfgtmp > > # Build tree > /build-* > diff --git a/Makefile b/Makefile > index a40d4cc..99666b9 100644 > --- a/Makefile > +++ b/Makefile > @@ -430,8 +430,17 @@ $(obj)u-boot.img: $(obj)u-boot.bin > sed -e 's/"[ ]*$$/ for $(BOARD) board"/') \ > -d $< $@ > > -$(obj)u-boot.imx: $(obj)u-boot.bin > - $(obj)tools/mkimage -n $(CONFIG_IMX_CONFIG) -T imximage \ > +ifeq ($(suffix $(patsubst "%",%,$(CONFIG_IMX_CONFIG))),.pcfg) > +$(obj)$(patsubst "%",%,$(CONFIG_IMX_CONFIG))tmp: %.pcfgtmp : %.pcfg > + $(CC) -E -x c $< -I./include -o $@ > + > +$(obj)u-boot.imx: %.imx : %.bin $(obj)$(patsubst > "%",%,$(CONFIG_IMX_CONFIG))tmp > +else > +$(obj)u-boot.imx: %.imx : %.bin $(patsubst "%",%,$(CONFIG_IMX_CONFIG)) > +endif > + > +$(obj)u-boot.imx: > + $(obj)tools/mkimage -n $(filter-out %.bin,$^) -T > imximage \ > -e $(CONFIG_SYS_TEXT_BASE) -d $< $@ >
Does it work something more direct (I have not tested, really...) ? In board Makefile, for example board/freescale/mx6qsabrelite, a rule for the imximage file: $(CONFIG_IMX_CONFIG): <your base file, mx6q_4x_mt41j128.cfg maybe> $(CC) -E -x c $< -I./include -o $@ And let unchanged in the main Makefile. So CONFIG_IMX_CONFIG is produced and you do not need to change logic in the main Makefile. Regards, Stefano -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot