From mboxrd@z Thu Jan 1 00:00:00 1970 From: Troy Kisky Date: Tue, 09 Oct 2012 19:03:09 -0700 Subject: [U-Boot] [PATCH V3 17/32] imximage.cfg: run files through C preprocessor In-Reply-To: <5072D772.5000309@denx.de> References: <1348281558-19520-1-git-send-email-troy.kisky@boundarydevices.com> <1349315254-21151-1-git-send-email-troy.kisky@boundarydevices.com> <1349315254-21151-18-git-send-email-troy.kisky@boundarydevices.com> <5072D772.5000309@denx.de> Message-ID: <5074D75D.8050200@boundarydevices.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 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 >> --- > 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 --- 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 $< $@ $(obj)u-boot.kwb: $(obj)u-boot.bin @@ -794,7 +803,8 @@ clean: @rm -f $(TIMESTAMP_FILE) $(VERSION_FILE) @find $(OBJTREE) -type f \ \( -name 'core' -o -name '*.bak' -o -name '*~' -o -name '*.su' \ - -o -name '*.o' -o -name '*.a' -o -name '*.exe' \) -print \ + -o -name '*.o' -o -name '*.a' -o -name '*.exe' \ + -o -name '*.pcfgtmp' \) -print \ | xargs rm -f # Removes everything not needed for testing u-boot diff --git a/board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg b/board/freescale/imx/ddr/mx6q_4x_mt41j128.pcfg similarity index 65% rename from board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg rename to board/freescale/imx/ddr/mx6q_4x_mt41j128.pcfg diff --git a/boards.cfg b/boards.cfg index e9e073e..677beac 100644 --- a/boards.cfg +++ b/boards.cfg @@ -232,8 +232,8 @@ ima3-mx53 arm armv7 ima3-mx53 esg vision2 arm armv7 vision2 ttcontrol mx5 vision2:IMX_CONFIG=board/ttcontrol/vision2/imx image_hynix.cfg mx6qarm2 arm armv7 mx6qarm2 freescale mx6 mx6qarm2:IMX_CONFIG=board/freescale/mx6qarm2/i mximage.cfg mx6qsabreauto arm armv7 mx6qsabreauto freescale mx6 mx6qsabreauto:IMX_CONFIG=board/freescale/mx6qs abreauto/imximage.cfg -mx6qsabrelite arm armv7 mx6qsabrelite freescale mx6 mx6qsabrelite:IMX_CONFIG=board/freescale/imx/d dr/mx6q_4x_mt41j128.cfg -mx6qsabresd arm armv7 mx6qsabresd freescale mx6 mx6qsabresd:IMX_CONFIG=board/freescale/imx/ddr /mx6q_4x_mt41j128.cfg +mx6qsabrelite arm armv7 mx6qsabrelite freescale mx6 mx6qsabrelite:IMX_CONFIG=board/freescale/imx/d dr/mx6q_4x_mt41j128.pcfg +mx6qsabresd arm armv7 mx6qsabresd freescale mx6 mx6qsabresd:IMX_CONFIG=board/freescale/imx/ddr /mx6q_4x_mt41j128.pcfg cm_t35 arm armv7 cm_t35 - omap3 omap3_overo arm armv7 overo - omap3 omap3_pandora arm armv7 pandora - omap3 -- 1.7.9.5