From: Daniel Dickinson <open...@daniel.thecshore.com> ar71xx has a large number of images, which makes it especially helpful to get building a selection of a subset of images working for this target, therefore this patches enables the multi-profile select capability from the previous patch for ar71xx.
Signed-off-by: Daniel Dickinson <open...@daniel.thecshore.com> --- target/linux/ar71xx/generic/profiles/00-default.mk | 5 ++++- target/linux/ar71xx/generic/profiles/01-minimal.mk | 4 +++- target/linux/ar71xx/generic/profiles/03-unified.mk | 16 ++++++++++++++++ target/linux/ar71xx/generic/target.mk | 2 ++ target/linux/ar71xx/image/Makefile | 16 ++++++++-------- target/linux/ar71xx/mikrotik/target.mk | 2 ++ target/linux/ar71xx/nand/target.mk | 2 ++ 7 files changed, 37 insertions(+), 10 deletions(-) create mode 100644 target/linux/ar71xx/generic/profiles/03-unified.mk diff --git a/target/linux/ar71xx/generic/profiles/00-default.mk b/target/linux/ar71xx/generic/profiles/00-default.mk index 5af2e0f..a02ba55 100644 --- a/target/linux/ar71xx/generic/profiles/00-default.mk +++ b/target/linux/ar71xx/generic/profiles/00-default.mk @@ -7,9 +7,12 @@ define Profile/Default NAME:=Default Profile (all drivers) + PROFILE_TYPE:=meta + PROFILE_DEFAULT:=1 + PROFILE_IMAGES_TYPE:=all endef define Profile/Default/Description - Default package set compatible with most boards. + Builds all images for target with the default package set (compatible with most boards) endef $(eval $(call Profile,Default)) diff --git a/target/linux/ar71xx/generic/profiles/01-minimal.mk b/target/linux/ar71xx/generic/profiles/01-minimal.mk index dfaa3b0..c2d4db4 100644 --- a/target/linux/ar71xx/generic/profiles/01-minimal.mk +++ b/target/linux/ar71xx/generic/profiles/01-minimal.mk @@ -8,9 +8,11 @@ define Profile/Minimal NAME:=Minimal Profile (no drivers) PACKAGES:=-kmod-ath9k -wpad-mini + PROFILE_TYPE:=minimal + PROFILE_IMAGES_TYPE:=all endef define Profile/Minimal/Description - Minimal package set compatible with most boards. + Build all images for target with minimal package set compatible with most boards. endef $(eval $(call Profile,Minimal)) diff --git a/target/linux/ar71xx/generic/profiles/03-unified.mk b/target/linux/ar71xx/generic/profiles/03-unified.mk new file mode 100644 index 0000000..ba7fc4b --- /dev/null +++ b/target/linux/ar71xx/generic/profiles/03-unified.mk @@ -0,0 +1,16 @@ +# +# Copyright (C) 2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/Unified + NAME:=Unified Profile (merge of all selected profiles) + PROFILE_TYPE:=unified +endef + +define Profile/Unified/Description + Builds all selected images for target with the the merged result of all selected profiles +endef +$(eval $(call Profile,Unified)) diff --git a/target/linux/ar71xx/generic/target.mk b/target/linux/ar71xx/generic/target.mk index 64eb205..e280e59 100644 --- a/target/linux/ar71xx/generic/target.mk +++ b/target/linux/ar71xx/generic/target.mk @@ -1,6 +1,8 @@ BOARDNAME:=Generic FEATURES += squashfs +TARGET_MULTI_SELECT:=1 + define Target/Description Build firmware images for generic Atheros AR71xx/AR913x/AR934x based boards. endef diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile index 6483284..446f2f2 100644 --- a/target/linux/ar71xx/image/Makefile +++ b/target/linux/ar71xx/image/Makefile @@ -10,8 +10,6 @@ JFFS2_BLOCKSIZE = 64k 128k 256k include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -IMAGE_PROFILE:=$(if $(PROFILE),$(PROFILE),Default) - KERNEL_LOADADDR = 0x80060000 DEVICE_VARS += NETGEAR_KERNEL_MAGIC NETGEAR_BOARD_ID NETGEAR_HW_ID CMDLINE CONSOLE IMAGE_SIZE BOARDNAME LOADER_FLASH_OFFS @@ -1299,6 +1297,10 @@ define SingleProfile SINGLE_PROFILES += $(3) endef +define Image/Build/Profile/Unified + true +endef + # $(1), name of the MultiProfile to be added. # $(2), name of Profiles to be included in the MultiProfile. define MultiProfile @@ -1590,7 +1592,6 @@ qihoo_c301_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),64k(devdata) yun_mtdlayout_8M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6464k(rootfs),1280k(kernel),64k(nvram),64k(art),7744k@0x50000(firmware) yun_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14656k(rootfs),1280k(kernel),64k(nvram),64k(art),15936k@0x50000(firmware) - define Image/BuildKernel cp $(KDIR)/vmlinux.elf $(VMLINUX).elf cp $(KDIR)/vmlinux $(VMLINUX).bin @@ -1600,7 +1601,7 @@ define Image/BuildKernel $(call MkuImage,lzma,,$(KDIR)/vmlinux.bin.lzma,$(UIMAGE)-lzma.bin) cp $(KDIR)/loader-generic.elf $(VMLINUX)-lzma.elf -mkdir -p $(KDIR_TMP) - $(call Image/Build/Profile/$(IMAGE_PROFILE),buildkernel) + $(foreach profile,$(PROFILES_BUILD),$(call Image/Build/Profile/$(profile),buildkernel)) endef define Image/BuildKernel/Initramfs @@ -2529,7 +2530,6 @@ $(eval $(call SingleProfile,ZyXELNAND,128k,NBG6716,nbg6716,NBG6716,ttyS0,115200, $(eval $(call MultiProfile,WNDR4300,WNDR3700V4 WNDR4300V1)) endif # ifeq ($(SUBTARGET),nand) - $(eval $(call MultiProfile,Default,$(SINGLE_PROFILES))) define Image/Build/squashfs @@ -2546,7 +2546,7 @@ define Image/Build/jffs2 endef define Image/Build/Initramfs - $(call Image/Build/Profile/$(IMAGE_PROFILE),initramfs) + $(foreach profile,$(PROFILES_BUILD),$(call Image/Build/Profile/$(profile)),initramfs) endef define Image/Prepare @@ -2558,13 +2558,13 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) $(call Image/BuildLoader,generic,elf,,,-initramfs) endif $(call Image/BuildLoader,generic,elf) - $(call Image/Build/Profile/$(if $(CONFIG_IB),Default,$(IMAGE_PROFILE)),loader) + $(if $(CONFIG_IB),$(call Image/Build/Profile/Default,loader),$(foreach profile,$(PROFILES_BUILD),$(call Image/Build/Profile/$(profile),loader))) endef # $(1): filesystem type. define Image/Build $(call Image/Build/$(call rootfs_type,$(1)),$(1)) - $(call Image/Build/Profile/$(IMAGE_PROFILE),$(1)) + $(foreach profile,$(PROFILES_BUILD),$(call Image/Build/Profile/$(profile),$(1))) endef $(eval $(call BuildImage)) diff --git a/target/linux/ar71xx/mikrotik/target.mk b/target/linux/ar71xx/mikrotik/target.mk index b2fb0df..50cbb3b 100644 --- a/target/linux/ar71xx/mikrotik/target.mk +++ b/target/linux/ar71xx/mikrotik/target.mk @@ -1,6 +1,8 @@ BOARDNAME:=Mikrotik devices with NAND flash FEATURES += targz ramdisk +TARGET_MULTI_SELECT:=0 + define Target/Description Build firmware images for Atheros AR71xx/AR913x based Mikrotik boards. e.g. MikroTik RB-4xx or RB-750 diff --git a/target/linux/ar71xx/nand/target.mk b/target/linux/ar71xx/nand/target.mk index 7532ec6..da775df 100644 --- a/target/linux/ar71xx/nand/target.mk +++ b/target/linux/ar71xx/nand/target.mk @@ -1,6 +1,8 @@ BOARDNAME := Generic devices with NAND flash FEATURES += squashfs nand rtc +TARGET_MULTI_SELECT:=0 + define Target/Description Build firmware images for Atheros AR71xx/AR913x based boards with NAND flash, e.g. Netgear WNDR4300. -- 2.4.3 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel