Hi Sascha and Roland, thank you for your response. I have create an example for the patch on basic of Rolands prototype If the code is ok for you, then i will rework the patch and send the patch to the mailinglist. diff --git a/images/Makefile.imx b/images/Makefile.imx index 42c194b..6ca4db9 100644 --- a/images/Makefile.imx +++ b/images/Makefile.imx @@ -2,6 +2,24 @@ # barebox image generation Makefile for i.MX images # +# params: CONFIG symbol, entry point, flash header path string, board identifier string +define build_imx_habv4img = +$(eval +ifeq ($($(strip $(1))), y) + pblb-y += $(strip $(2)) + CFG_$(strip $(2)).pblb.imximg = $(board)/$(strip $(3)).imxcfg + FILE_barebox-$(strip $(4)).img = $(strip $(2)).pblb.imximg + FILE_barebox-$(strip $(4))-s.img = $(strip $(2)).pblb.simximg + FILE_barebox-$(strip $(4))-us.img = $(strip $(2)).pblb.usimximg + FILE_barebox-$(strip $(4))-es.img = $(strip $(2)).pblb.esimximg + image-y += barebox-$(strip $(4)).img + image-$(CONFIG_HABV4_IMAGE_SIGNED) += barebox-$(strip $(4))-s.img + image-$(CONFIG_HABV4_IMAGE_SIGNED_USB) += barebox-$(strip $(4))-us.img + image-$(CONFIG_HABV4_IMAGE_SIGNED_ENCRYPTED) += barebox-$(strip $(4))-es.img +endif +) +endef + # %.imximg - convert into i.MX image # ---------------------------------------------------------------- @@ -143,10 +161,7 @@ FILE_barebox-tx53-1011.img = start_imx53_tx53_1011.pblb.imximg image-$(CONFIG_MACH_TX53) += barebox-tx53-1011.img # ----------------------- i.MX6 based boards --------------------------- -pblb-$(CONFIG_MACH_REALQ7) += start_imx6_realq7 -CFG_start_imx6_realq7.pblb.imximg = $(board)/datamodul-edm-qmx6/flash-header.imxcfg -FILE_barebox-datamodul-edm-qmx6.img = start_imx6_realq7.pblb.imximg -image-$(CONFIG_MACH_REALQ7) += barebox-datamodul-edm-qmx6.img +$(call build_imx_habv4img, CONFIG_MACH_REALQ7, start_imx6_realq, datamodul-edm-qmx6/flash-header.imxcfg, datamodul-edm-qmx6) pblb-$(CONFIG_MACH_GUF_SANTARO) += start_imx6q_guf_santaro CFG_start_imx6q_guf_santaro.pblb.imximg = $(board)/guf-santaro/flash-header.imxcfg @@ -423,10 +438,7 @@ CFG_start_phytec_phycore_imx6qp_som_nand_1gib.pblb.imximg = $(board)/phytec- som- FILE_barebox-phytec-phycore-imx6qp-som-nand-1gib.img = start_phytec_phycore_imx6qp_som_nand_1gib.pblb.imximg image-$(CONFIG_MACH_PHYTEC_SOM_IMX6) += barebox-phytec-phycore-imx6qp-som-nand-1gib.img -pblb-$(CONFIG_MACH_PHYTEC_SOM_IMX6) += start_phytec_phycore_imx6q_som_emmc_1gib -CFG_start_phytec_phycore_imx6q_som_emmc_1gib.pblb.imximg = $(board)/phytec-som-imx6/flash-header-phytec-pcm058-1gib.imxcfg -FILE_barebox-phytec-phycore-imx6q-som-emmc-1gib.img = start_phytec_phycore_imx6q_som_emmc_1gib.pblb.imximg -image-$(CONFIG_MACH_PHYTEC_SOM_IMX6) += barebox-phytec-phycore-imx6q-som-emmc-1gib.img +$(call build_imx_habv4img, CONFIG_MACH_PHYTEC_SOM_IMX6, start_phytec_phycore_imx6q_som_emmc_1gib, phytec-som-imx6/flash-header-phytec-pcm058-1gib, phytec-phycore-imx6q-som-emmc-1gib) pblb-$(CONFIG_MACH_PHYTEC_SOM_IMX6) += start_phytec_phycore_imx6q_som_emmc_2gib CFG_start_phytec_phycore_imx6q_som_emmc_2gib.pblb.imximg = $(board)/phytec-som-imx6/flash-header-phytec-pcm058-2gib.imxcfg Best regards Maik Am 05.08.2019 um 17:07 schrieb Roland Hieber: > On Mon, Aug 05, 2019 at 02:35:40PM +0200, Roland Hieber wrote: >> On Mon, Aug 05, 2019 at 01:02:13PM +0200, Sascha Hauer wrote: >>> Hi Maik, >>> >>> On Thu, Jul 18, 2019 at 10:02:01AM +0200, Maik Otto wrote: >>>> add in the images/Makefile.imx the support of building for signed, usb >>>> signed and encrypted/signed images for NXP i.MX HABV4 >>>> support for NXP i.mx6, i.mx7 and i.mx8 >>>> >>>> Signed-off-by: Maik Otto <m.otto@xxxxxxxxx> >>>> --- >>>> Changes in v3: >>>> - nothing >>>> Changes in v2: >>>> - was Patch 2/4 in v1 >>>> - no dynamic variable, parallel building of different image types now >>>> --- >>>> images/Makefile.imx | 322 +++++++++++++++++++++++++++++++++++++++++++++++++++- >>>> 1 file changed, 321 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/images/Makefile.imx b/images/Makefile.imx >>>> index 9a7187a..9c70703 100644 >>>> --- a/images/Makefile.imx >>>> +++ b/images/Makefile.imx >>>> @@ -147,216 +147,388 @@ pblb-$(CONFIG_MACH_REALQ7) += start_imx6_realq7 >>>> CFG_start_imx6_realq7.pblb.imximg = $(board)/datamodul-edm-qmx6/flash-header.imxcfg >>>> FILE_barebox-datamodul-edm-qmx6.img = start_imx6_realq7.pblb.imximg >>>> image-$(CONFIG_MACH_REALQ7) += barebox-datamodul-edm-qmx6.img >>>> +FILE_barebox-datamodul-edm-qmx6-s.img = start_imx6_realq7.pblb.simximg >>>> +FILE_barebox-datamodul-edm-qmx6-us.img = start_imx6_realq7.pblb.usimximg >>>> +FILE_barebox-datamodul-edm-qmx6-es.img = start_imx6_realq7.pblb.esimximg >>>> +habv4image-$(CONFIG_MACH_REALQ7) += barebox-datamodul-edm-qmx6 >>> This file contains way to much boilerplate already for my taste. Adding four >>> more lines for every board is not something I like to do. >>> >>> Can we add even more magic to get rid of these additional lines? >> You mean like... (untested) > [...] > > Here's a tested prototype (needed some more eval and strip): > > ----------------- 8< ----------------- > diff --git a/images/Makefile.imx b/images/Makefile.imx > index 9a7187ac7807..f58c0411871d 100644 > --- a/images/Makefile.imx > +++ b/images/Makefile.imx > @@ -2,6 +2,19 @@ > # barebox image generation Makefile for i.MX images > # > > +# params: CONFIG symbol, entry point, board identifier string > +define build_imx_img = > +$(eval > +pblb-$($(strip $(1))) += $(strip $(2)) > +CFG_$(strip $(2)).pblb.imximg = $(board)/$(strip $(3))/flash-header.imxcfg > +FILE_barebox-$(strip $(3)).img = $(strip $(2)).pblb.imximg > +FILE_barebox-$(strip $(3))-s.img = $(strip $(2)).pblb.simximg > +FILE_barebox-$(strip $(3))-us.img = $(strip $(2)).pblb.usimximg > +FILE_barebox-$(strip $(3))-es.img = $(strip $(2)).pblb.esimximg > +image-$($(strip $(1))) += barebox-$(strip $(3)).img > +) > +endef > + > # %.imximg - convert into i.MX image > # ---------------------------------------------------------------- > > @@ -143,15 +156,8 @@ FILE_barebox-tx53-1011.img = start_imx53_tx53_1011.pblb.imximg > image-$(CONFIG_MACH_TX53) += barebox-tx53-1011.img > > # ----------------------- i.MX6 based boards --------------------------- > -pblb-$(CONFIG_MACH_REALQ7) += start_imx6_realq7 > -CFG_start_imx6_realq7.pblb.imximg = $(board)/datamodul-edm-qmx6/flash-header.imxcfg > -FILE_barebox-datamodul-edm-qmx6.img = start_imx6_realq7.pblb.imximg > -image-$(CONFIG_MACH_REALQ7) += barebox-datamodul-edm-qmx6.img > - > -pblb-$(CONFIG_MACH_GUF_SANTARO) += start_imx6q_guf_santaro > -CFG_start_imx6q_guf_santaro.pblb.imximg = $(board)/guf-santaro/flash-header.imxcfg > -FILE_barebox-guf-santaro.img = start_imx6q_guf_santaro.pblb.imximg > -image-$(CONFIG_MACH_GUF_SANTARO) += barebox-guf-santaro.img > +$(call build_imx_img, CONFIG_MACH_REALQ7, start_imx6_realq, datamodul-edm-qmx6) > +$(call build_imx_img, CONFIG_MACH_GUF_SANTARO, start_imx6q_guf_santaro, guf-santaro) > > pblb-$(CONFIG_MACH_GK802) += start_imx6_gk802 > CFG_start_imx6_gk802.pblb.imximg = $(board)/gk802/flash-header.imxcfg > ----------------- 8< ----------------- > > Depending on your thoughts regarding the other questions in my previous > mail, I can make this into a proper patch. > > - Roland > _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox