From patchwork Wed Jan 20 18:20:03 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Dickinson X-Patchwork-Id: 570852 X-Patchwork-Delegate: nbd@openwrt.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from arrakis.dune.hu (arrakis.dune.hu [78.24.191.176]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 148F214076E for ; Thu, 21 Jan 2016 05:25:40 +1100 (AEDT) Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 492CA28C0A2; Wed, 20 Jan 2016 19:21:37 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on arrakis.dune.hu X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00,RDNS_NONE autolearn=no version=3.3.2 Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id D49D528BFE8 for ; Wed, 20 Jan 2016 19:19:51 +0100 (CET) X-policyd-weight: using cached result; rate: -8.5 Received: from s2.neomailbox.net (unknown [5.148.176.60]) by arrakis.dune.hu (Postfix) with ESMTPS for ; Wed, 20 Jan 2016 19:19:51 +0100 (CET) From: openwrt@daniel.thecshore.com To: openwrt-devel@lists.openwrt.org Date: Wed, 20 Jan 2016 13:20:03 -0500 Message-Id: <1453314009-5602-2-git-send-email-openwrt@daniel.thecshore.com> In-Reply-To: <1453314009-5602-1-git-send-email-openwrt@daniel.thecshore.com> References: <1453314009-5602-1-git-send-email-openwrt@daniel.thecshore.com> Subject: [OpenWrt-Devel] [PATCH 2/8] ar71xx: Enable mult-profile select X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: openwrt-devel-bounces@lists.openwrt.org Sender: "openwrt-devel" From: Daniel Dickinson 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 --- 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.