From 5be70dfb578c8793084aa8b4526fad08d68a6155 Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 12 Nov 2006 05:06:56 +0000 Subject: [PATCH] implement target profiles in menuconfig git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5512 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- Makefile | 4 +- include/kernel-build.mk | 63 +++++++++++------ package/ar7-atm/Makefile | 1 - package/ar7-net/Makefile | 1 - package/base-files/Makefile | 3 - package/bridge/Makefile | 1 - package/broadcom-wl/Makefile | 6 +- package/busybox/Makefile | 1 - package/dnsmasq/Makefile | 1 - package/dropbear/Makefile | 1 - package/iptables/Makefile | 1 - package/madwifi/Makefile | 2 +- package/mtd/Makefile | 1 - package/nozomi/Makefile | 1 - package/nvram/Makefile | 1 - package/ppp/Makefile | 3 - package/switch/Makefile | 1 - package/wireless-tools/Makefile | 1 - package/wlcompat/Makefile | 4 +- scripts/gen_package_config.pl | 3 + scripts/gen_target_config.pl | 116 +++++++++++++++++++++++++++++++- target/Config.in | 59 ---------------- target/linux/ar7-2.4/Makefile | 20 ++++++ target/linux/aruba-2.6/Makefile | 1 + target/linux/brcm-2.4/Makefile | 56 +++++++++++++++ target/linux/brcm-2.6/Makefile | 13 ++++ 26 files changed, 256 insertions(+), 109 deletions(-) diff --git a/Makefile b/Makefile index e5e1f6fd3..eed9335a5 100644 --- a/Makefile +++ b/Makefile @@ -39,11 +39,11 @@ else endif export OPENWRTVERSION -ifneq ($(shell ./scripts/timestamp.pl -p tmp/.pkginfo package scripts Makefile),tmp/.pkginfo) +ifneq ($(shell ./scripts/timestamp.pl -p tmp/.pkginfo package scripts include),tmp/.pkginfo) tmp/.pkginfo: FORCE endif -ifneq ($(shell ./scripts/timestamp.pl -p tmp/.targetinfo target/linux scripts Makefile),tmp/.targetinfo) +ifneq ($(shell ./scripts/timestamp.pl -p tmp/.targetinfo target/linux scripts include),tmp/.targetinfo) tmp/.targetinfo: FORCE endif diff --git a/include/kernel-build.mk b/include/kernel-build.mk index e491e489c..35149d768 100644 --- a/include/kernel-build.mk +++ b/include/kernel-build.mk @@ -6,6 +6,9 @@ # KERNEL_BUILD:=1 +# For target profile selection - the default set +DEFAULT_PACKAGES:=base-files libgcc uclibc bridge busybox dnsmasq dropbear iptables mtd ppp ppp-mod-pppoe mtd + ifeq ($(DUMP),1) all: dumpinfo else @@ -146,41 +149,59 @@ define BuildKernel mostlyclean: FORCE $(call Kernel/Clean) + ifeq ($(DUMP),1) + dumpinfo: + @echo 'Target: $(BOARD)-$(KERNEL)' + @echo 'Target-Name: $(BOARDNAME) [$(KERNEL)]' + @echo 'Target-Path: $(subst $(TOPDIR)/,,$(PWD))' + @echo 'Target-Arch: $(ARCH)' + @echo 'Target-Features: $(FEATURES)' + @echo 'Linux-Version: $(LINUX_VERSION)' + @echo 'Linux-Release: $(LINUX_RELEASE)' + @echo 'Linux-Kernel-Arch: $(LINUX_KARCH)' + @echo 'Target-Description:' + @getvar $(call shvar,Target/Description) + @echo '@@' + @echo 'Default-Packages: $(DEFAULT_PACKAGES)' + ifneq ($(DUMPINFO),) + @$(DUMPINFO) + endif + endif + define BuildKernel endef endef +define Profile/Default + NAME:= + PACKAGES:= +endef + +define Profile + $(eval $(call Profile/Default)) + $(eval $(call Profile/$(1))) + DUMPINFO += \ + echo "Target-Profile: $(1)"; \ + echo "Target-Profile-Name: $(NAME)"; \ + echo "Target-Profile-Packages: $(PACKAGES)"; +endef + $(eval $(call shexport,Target/Description)) -ifeq ($(DUMP),1) - dumpinfo: - @echo 'Target: $(BOARD)-$(KERNEL)' - @echo 'Target-Name: $(BOARDNAME) [$(KERNEL)]' - @echo 'Target-Path: $(subst $(TOPDIR)/,,$(PWD))' - @echo 'Target-Arch: $(ARCH)' - @echo 'Target-Features: $(FEATURES)' - @echo 'Linux-Version: $(LINUX_VERSION)' - @echo 'Linux-Release: $(LINUX_RELEASE)' - @echo 'Linux-Kernel-Arch: $(LINUX_KARCH)' - @echo 'Target-Description:' - @echo "$$$(call shvar,Target/Description)" - @echo '@@' -else - download: $(DL_DIR)/$(LINUX_SOURCE) - prepare: $(LINUX_DIR)/.configured $(TMP_DIR)/.kernel.mk - compile: $(LINUX_DIR)/.modules - install: $(LINUX_DIR)/.image +download: $(DL_DIR)/$(LINUX_SOURCE) +prepare: $(LINUX_DIR)/.configured $(TMP_DIR)/.kernel.mk +compile: $(LINUX_DIR)/.modules +install: $(LINUX_DIR)/.image - clean: FORCE +clean: FORCE rm -f $(STAMP_DIR)/.linux-compile rm -rf $(KERNEL_BUILD_DIR) - rebuild: FORCE +rebuild: FORCE @$(MAKE) mostlyclean @if [ -f $(LINUX_KERNEL) ]; then \ $(MAKE) clean; \ fi @$(MAKE) compile -endif diff --git a/package/ar7-atm/Makefile b/package/ar7-atm/Makefile index 6ef3c2652..25ef3728d 100644 --- a/package/ar7-atm/Makefile +++ b/package/ar7-atm/Makefile @@ -25,7 +25,6 @@ include $(INCLUDE_DIR)/package.mk define KernelPackage/sangam-atm-annex-a SUBMENU:=Network Devices DEPENDS:=@LINUX_2_4_AR7 +kmod-atm - DEFAULT:=y TITLE:=AR7 ADSL driver (Annex A) DESCRIPTION:=The AR7 ADSL driver for Annex A VERSION:=$(PKG_VERSION)+$(LINUX_VERSION)-$(BOARD)-$(PKG_RELEASE) diff --git a/package/ar7-net/Makefile b/package/ar7-net/Makefile index a8423a3fd..fbcdf6496 100644 --- a/package/ar7-net/Makefile +++ b/package/ar7-net/Makefile @@ -25,7 +25,6 @@ include $(INCLUDE_DIR)/package.mk define KernelPackage/avalanche-cpmac SUBMENU:=Network Devices DEPENDS:=@LINUX_2_4_AR7 +kmod-atm - DEFAULT:=y TITLE:=AR7 Network driver (CPMAC) DESCRIPTION:=AR7 Network driver (CPMAC) VERSION:=$(PKG_VERSION)+$(LINUX_VERSION)-$(BOARD)-$(PKG_RELEASE) diff --git a/package/base-files/Makefile b/package/base-files/Makefile index ea4159d64..5af1414d4 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -35,7 +35,6 @@ CONFIG_PACKAGE_base-files$(TARGET):=$(CONFIG_PACKAGE_base-files) define Package/base-files$(TARGET) SECTION:=base CATEGORY:=Base system - DEFAULT:=y TITLE:=Base filesystem for OpenWrt DESCRIPTION:=\ This package contains a base filesystem and system scripts for OpenWrt. @@ -87,7 +86,6 @@ endef define Package/libgcc SECTION:=libs CATEGORY:=Base system - DEFAULT:=y DEPENDS:=@!NATIVE_TOOLCHAIN TITLE:=GCC support library URL:=http://gcc.gnu.org/ @@ -106,7 +104,6 @@ endef define Package/uclibc SECTION:=libs CATEGORY:=Base system - DEFAULT:=y DEPENDS:=@!NATIVE_TOOLCHAIN TITLE:=C library embedded systems URL:=http://uclibc.org/ diff --git a/package/bridge/Makefile b/package/bridge/Makefile index c186c8e70..07149fdee 100644 --- a/package/bridge/Makefile +++ b/package/bridge/Makefile @@ -24,7 +24,6 @@ include $(INCLUDE_DIR)/package.mk define Package/bridge SECTION:=net CATEGORY:=Base system - DEFAULT:=y TITLE:=Ethernet bridging configuration utility DESCRIPTION:=\ Manage ethernet bridging: a way to connect networks together to \\\ diff --git a/package/broadcom-wl/Makefile b/package/broadcom-wl/Makefile index 3ef4bcf08..1b3964285 100644 --- a/package/broadcom-wl/Makefile +++ b/package/broadcom-wl/Makefile @@ -44,7 +44,6 @@ endef define Package/kmod-brcm-wl $(call Package/kmod-brcm-wl/Default) - DEFAULT:=y TITLE+= (normal version) DESCRIPTION+= (normal version). endef @@ -57,8 +56,8 @@ endef define Package/wlc $(call Package/broadcom-wl/Default) + TITLE:=wl driver setup utility DEFAULT:=y - TITLE:=Proprietary Broadcom wl driver setup utility DESCRIPTION:=\ This package contains an utility for initializing the proprietary Broadcom \\\ wl driver. @@ -74,7 +73,8 @@ endef define Package/nas $(call Package/broadcom-wl/Default) - DEPENDS+= +nvram + DEPENDS+=+nvram + DEFAULT:=y TITLE:=Proprietary Broadcom WPA/WPA2 authenticator DESCRIPTION:=\ This package contains the proprietary WPA/WPA2 authenticator (nas) for the \\\ diff --git a/package/busybox/Makefile b/package/busybox/Makefile index 05174a32b..cc3473726 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -24,7 +24,6 @@ include $(INCLUDE_DIR)/package.mk define Package/busybox SECTION:=base CATEGORY:=Base system - DEFAULT:=y TITLE:=Core utilities for embedded Linux URL:=http://busybox.net/ MENU:=1 diff --git a/package/dnsmasq/Makefile b/package/dnsmasq/Makefile index d7e5f18b6..d0beeb6f4 100644 --- a/package/dnsmasq/Makefile +++ b/package/dnsmasq/Makefile @@ -24,7 +24,6 @@ include $(INCLUDE_DIR)/package.mk define Package/dnsmasq SECTION:=net CATEGORY:=Base system - DEFAULT:=y TITLE:=A lightweight DNS and DHCP server DESCRIPTION:=\ It is intended to provide coupled DNS and DHCP service to a LAN. diff --git a/package/dropbear/Makefile b/package/dropbear/Makefile index 546facf92..1f4e47d4e 100644 --- a/package/dropbear/Makefile +++ b/package/dropbear/Makefile @@ -29,7 +29,6 @@ define Package/dropbear $(call Package/dropbear/Default) SECTION:=net CATEGORY:=Base system - DEFAULT:=y TITLE:=Small SSH2 client/server DESCRIPTION:=\ A small SSH2 server/client designed for small memory environments. diff --git a/package/iptables/Makefile b/package/iptables/Makefile index ee0c0941b..5fb069f6d 100644 --- a/package/iptables/Makefile +++ b/package/iptables/Makefile @@ -38,7 +38,6 @@ endef define Package/iptables $(call Package/iptables/Default) - DEFAULT:=y TITLE:=IPv4 firewall administration tool MENU:=1 endef diff --git a/package/madwifi/Makefile b/package/madwifi/Makefile index 6fa682b06..2d952d114 100644 --- a/package/madwifi/Makefile +++ b/package/madwifi/Makefile @@ -77,8 +77,8 @@ endif define KernelPackage/madwifi SUBMENU:=Wireless Drivers - DEFAULT:=y if LINUX_2_6_BRCM || LINUX_2_6_ARUBA || LINUX_2_4_AR531X || LINUX_2_6_XSCALE, m if ALL TITLE:=Driver for Atheros wireless chipsets + DEPENDS:=+wireless-tools DESCRIPTION:=\ This package contains a driver for Atheros 802.11a/b/g chipsets. URL:=http://madwifi.org/ diff --git a/package/mtd/Makefile b/package/mtd/Makefile index b3edb7b1b..2a27f0f5c 100644 --- a/package/mtd/Makefile +++ b/package/mtd/Makefile @@ -19,7 +19,6 @@ include $(INCLUDE_DIR)/package.mk define Package/mtd SECTION:=utils CATEGORY:=Base system - DEFAULT:=y TITLE:=Update utility for trx firmware images DESCRIPTION:=\ This package contains an utility useful to upgrade from other firmware or \\\ diff --git a/package/nozomi/Makefile b/package/nozomi/Makefile index 5b879de4b..a6b9c0087 100644 --- a/package/nozomi/Makefile +++ b/package/nozomi/Makefile @@ -30,7 +30,6 @@ define KernelPackage/nozomi DESCRIPTION:=Option Globetrotter HSDPA driver URL:=http://www.pharscape.org/ DEPENDS:=@LINUX_2_4 - DEFAULT:=m if ALL VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE) FILES:=$(PKG_BUILD_DIR)/noz.$(LINUX_KMOD_SUFFIX) AUTOLOAD:=$(call AutoLoad,70,noz) diff --git a/package/nvram/Makefile b/package/nvram/Makefile index 1fd82cd71..ab33c1151 100644 --- a/package/nvram/Makefile +++ b/package/nvram/Makefile @@ -18,7 +18,6 @@ include $(INCLUDE_DIR)/package.mk define Package/nvram SECTION:=utils CATEGORY:=Utilities - DEFAULT:=y DEPENDS:=@LINUX_2_4_BRCM TITLE:=Broadcom config utility DESCRIPTION:=\ diff --git a/package/ppp/Makefile b/package/ppp/Makefile index 80c6f5afe..7d05db09a 100644 --- a/package/ppp/Makefile +++ b/package/ppp/Makefile @@ -33,7 +33,6 @@ endef define Package/ppp $(call Package/ppp/Default) - DEFAULT:=y DEPENDS:=+kmod-ppp TITLE:=PPP daemon DESCRIPTION:=\ @@ -44,7 +43,6 @@ endef define Package/ppp-mod-pppoa $(call Package/ppp/Default) DEPENDS:=ppp +linux-atm +kmod-pppoa - DEFAULT:=y if LINUX_2_4_AR7 TITLE:=PPPoA plugin DESCRIPTION:=\ This package contains a PPPoA (PPP over ATM) plugin for ppp. @@ -52,7 +50,6 @@ endef define Package/ppp-mod-pppoe $(call Package/ppp/Default) - DEFAULT:=y DEPENDS:=ppp +kmod-pppoe TITLE:=PPPoE plugin DESCRIPTION:=\ diff --git a/package/switch/Makefile b/package/switch/Makefile index 75f312940..07208bc30 100644 --- a/package/switch/Makefile +++ b/package/switch/Makefile @@ -20,7 +20,6 @@ define Package/kmod-switch SECTION:=kernel CATEGORY:=Kernel drivers DEPENDS:=@LINUX_2_6_BRCM||LINUX_2_4_BRCM - DEFAULT:=y TITLE:=Switch drivers DESCRIPTION:=\ This package contains switch drivers for ADM6996L and BCM53XX RoboSwitch. diff --git a/package/wireless-tools/Makefile b/package/wireless-tools/Makefile index def2a6cc8..f78bef986 100644 --- a/package/wireless-tools/Makefile +++ b/package/wireless-tools/Makefile @@ -26,7 +26,6 @@ include $(INCLUDE_DIR)/package.mk define Package/wireless-tools SECTION:=net CATEGORY:=Base system - DEFAULT:=y TITLE:=Tools for manipulating Linux Wireless Extensions DESCRIPTION:=\ This package contains a collection of tools for configuring wireless \\\ diff --git a/package/wlcompat/Makefile b/package/wlcompat/Makefile index fc66c90f5..4a3729465 100644 --- a/package/wlcompat/Makefile +++ b/package/wlcompat/Makefile @@ -19,7 +19,8 @@ include $(INCLUDE_DIR)/package.mk define Package/kmod-wlcompat/Default SECTION:=kernel CATEGORY:=Kernel drivers - DEPENDS:=kmod-brcm-wl + DEPENDS:=@PACKAGE_kmod-brcm-wl||PACKAGE_kmod-brcm-wl-mimo +wireless-tools + DEFAULT:=y TITLE:=Broadcom wl wrapper module DESCRIPTION:=\ This package contains a wrapper module, that provides Wireless Extension \\\ @@ -29,7 +30,6 @@ endef define Package/kmod-wlcompat $(call Package/kmod-wlcompat/Default) - DEFAULT:=y endef define Package/kmod-wlcompat-debug diff --git a/scripts/gen_package_config.pl b/scripts/gen_package_config.pl index 9c705af56..4ce117c06 100755 --- a/scripts/gen_package_config.pl +++ b/scripts/gen_package_config.pl @@ -89,10 +89,13 @@ sub print_category($) { if ($c > 0) { $title .= ("." x $c). " ". $pkg->{title}; } + print "\tconfig DEFAULT_".$pkg->{name}."\n"; + print "\t\tbool\n\n"; print "\t"; $pkg->{menu} and print "menu"; print "config PACKAGE_".$pkg->{name}."\n"; print "\t\ttristate \"$title\"\n"; + print "\t\tdefault y if DEFAULT_".$pkg->{name}."\n"; foreach my $default (split /\s*,\s*/, $pkg->{default}) { print "\t\tdefault $default\n"; } diff --git a/scripts/gen_target_config.pl b/scripts/gen_target_config.pl index c0b83963b..4d0d6b13e 100755 --- a/scripts/gen_target_config.pl +++ b/scripts/gen_target_config.pl @@ -10,6 +10,8 @@ use strict; my @target; my $target; +my $profiles; +my $profile; sub features(@) { my $ret; @@ -30,8 +32,11 @@ sub features(@) { while (<>) { chomp; /^Target:\s*((.+)-(\d+\.\d+))\s*$/ and do { + my $conf = uc $3.'_'.$2; + $conf =~ tr/\.-/__/; $target = { id => $1, + conf => $conf, board => $2, kernel => $3 }; @@ -56,6 +61,22 @@ while (<>) { /^Linux-Version:\s*(.+)\s*$/ and $target->{version} = $1; /^Linux-Release:\s*(.+)\s*$/ and $target->{release} = $1; /^Linux-Kernel-Arch:\s*(.+)\s*$/ and $target->{karch} = $1; + /^Default-Packages:\s*(.+)\s*$/ and do { + my @pkgs = split /\s+/, $1; + $target->{defaultpkgs} = \@pkgs; + }; + /^Target-Profile:\s*(.+)\s*$/ and do { + $profiles = $target->{profiles} or $target->{profiles} = $profiles = []; + $profile = { + id => $1 + }; + push @$profiles, $profile; + }; + /^Target-Profile-Name:\s*(.+)\s*$/ and $profile->{name} = $1; + /^Target-Profile-Packages:\s*(.+)\s*$/ and do { + my @pkgs = split /\s+/, $1; + $profile->{pkgs} = \@pkgs; + }; } @target = sort { @@ -63,13 +84,18 @@ while (<>) { } @target; +print <{kernel}.'_'.$target->{board}; my $features = features(@{$target->{features}}); my $help = $target->{desc}; chomp $features; $features .= "\n"; - $conf =~ tr/\.-/__/; if ($help =~ /\w+/) { $help =~ s/^\s*/\t /mg; $help = "\thelp\n$help"; @@ -78,7 +104,7 @@ foreach $target (@target) { } print <{conf} bool "$target->{name}" select $target->{arch} $features$help @@ -86,3 +112,87 @@ $features$help EOF } +print <{profiles} or $profiles = [ + { + id => 'Default', + name => 'Default', + pkgs => [] + } + ]; + foreach my $profile (@$profiles) { + print <{conf}_$profile->{id} + bool "$profile->{name}" + depends LINUX_$target->{conf} +EOF + foreach my $pkg (@{$target->{defaultpkgs}}, @{$profile->{pkgs}}) { + print "\tselect DEFAULT_$pkg\n"; + } + print "\n"; + } +} + +print "endchoice\n"; diff --git a/target/Config.in b/target/Config.in index 0ed1d0c58..83e2e1a90 100644 --- a/target/Config.in +++ b/target/Config.in @@ -1,64 +1,5 @@ -choice - prompt "Target System" - default LINUX_2_4_BRCM - source "tmp/.config-target.in" -if DEVEL - -config LINUX_2_6_ARM - bool "UNSUPPORTED little-endian arm platform" - depends BROKEN - select LINUX_2_6 - select arm - -config LINUX_2_6_CRIS - bool "UNSUPPORTED cris platform" - depends BROKEN - select LINUX_2_6 - select cris - -config LINUX_2_6_M68K - bool "UNSUPPORTED m68k platform" - depends BROKEN - select LINUX_2_6 - select m68k - -config LINUX_2_6_SH3 - bool "UNSUPPORTED little-endian sh3 platform" - depends BROKEN - select LINUX_2_6 - select sh3 - -config LINUX_2_6_SH3EB - bool "UNSUPPORTED big-endian sh3 platform" - depends BROKEN - select LINUX_2_6 - select sh3eb - -config LINUX_2_6_SH4 - bool "UNSUPPORTED little-endian sh4 platform" - depends BROKEN - select LINUX_2_6 - select sh4 - -config LINUX_2_6_SH4EB - bool "UNSUPPORTED big-endian sh4 platform" - depends BROKEN - select LINUX_2_6 - select sh4eb - -config LINUX_2_6_SPARC - bool "UNSUPPORTED sparc platform" - depends BROKEN - select LINUX_2_6 - select sparc - -endif - -endchoice - - # Kernel/Hardware features config LINUX_2_4 diff --git a/target/linux/ar7-2.4/Makefile b/target/linux/ar7-2.4/Makefile index f3d55da19..0ecfed615 100644 --- a/target/linux/ar7-2.4/Makefile +++ b/target/linux/ar7-2.4/Makefile @@ -10,6 +10,7 @@ ARCH:=mipsel BOARD:=ar7 BOARDNAME:=TI AR7 FEATURES:=atm squashfs jffs2 +DEFAULT_PACKAGES += kmod-avalanche-cpmac define Target/Description Build firmware images for TI AR7 based routers (w.g. Linksys WAG54G v2) @@ -20,4 +21,23 @@ LINUX_RELEASE:=1 LINUX_KERNEL_MD5SUM:=38f4d0830e95a20f4bfed17622d5557c include $(INCLUDE_DIR)/kernel-build.mk + +define Profile/AnnexA + NAME:=ADSL Annex A (default) + PACKAGES:=kmod-sangam-atm-annex-a ppp-mod-pppoa +endef +$(eval $(call Profile,AnnexA)) + +define Profile/AnnexB + NAME:=ADSL Annex B + PACKAGES:=kmod-sangam-atm-annex-b ppp-mod-pppoa +endef +$(eval $(call Profile,AnnexB)) + +define Profile/None + NAME:=No ADSL + PACKAGES:= +endef +$(eval $(call Profile,None)) + $(eval $(call BuildKernel)) diff --git a/target/linux/aruba-2.6/Makefile b/target/linux/aruba-2.6/Makefile index c3946e2d1..0a4214886 100644 --- a/target/linux/aruba-2.6/Makefile +++ b/target/linux/aruba-2.6/Makefile @@ -10,6 +10,7 @@ ARCH:=mips BOARD:=aruba BOARDNAME:=Aruba FEATURES:=jffs2 pci usb +DEFAULT_PACKAGES += kmod-madwifi define Target/Description Build firmware images for Aruba boards diff --git a/target/linux/brcm-2.4/Makefile b/target/linux/brcm-2.4/Makefile index 7319ccabd..2294a0546 100644 --- a/target/linux/brcm-2.4/Makefile +++ b/target/linux/brcm-2.4/Makefile @@ -10,6 +10,7 @@ ARCH:=mipsel BOARD:=brcm BOARDNAME:=Broadcom BCM947xx/953xx FEATURES:=pci usb pcmcia squashfs jffs2 +DEFAULT_PACKAGES += kmod-switch nvram define Target/Description Build firmware images for Broadcom based routers @@ -26,4 +27,59 @@ LINUX_KERNEL_MD5SUM:=38f4d0830e95a20f4bfed17622d5557c include $(INCLUDE_DIR)/kernel-build.mk +define Profile/Broadcom + NAME:=Generic, Broadcom WiFi (default) + PACKAGES:=kmod-brcm-wl +endef +$(eval $(call Profile,Broadcom)) + +define Profile/BroadcomMimo + NAME:=Generic, Broadcom WiFi (MIMO) + PACKAGES:=kmod-brcm-wl-mimo +endef +$(eval $(call Profile,BroadcomMimo)) + +define Profile/Atheros + NAME:=Generic, Atheros WiFi + PACKAGES:=kmod-madwifi +endef +$(eval $(call Profile,Atheros)) + +define Profile/None + NAME:=Generic, No WiFi + PACKAGES:= +endef +$(eval $(call Profile,None)) + + +define Profile/WRT54G3G + NAME:=Linksys WRT54G3G + PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-pcmcia-core kmod-pcmcia-serial kmod-nozomi comgt +endef +$(eval $(call Profile,WRT54G3G)) + +define Profile/WL500G + NAME:=ASUS WL-500g + PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-lp +endef +$(eval $(call Profile,WL500G)) + +define Profile/WL500GD + NAME:=ASUS WL-500g Deluxe + PACKAGES:=kmod-usb-core kmod-usb-uhci kmod-usb2 +endef +$(eval $(call Profile,WL500GD)) + +define Profile/WL500GP + NAME:=ASUS WL-500g Premium + PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 +endef +$(eval $(call Profile,WL500GP)) + +define Profile/WLHDD + NAME:=WL-HDD + PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-ide-core kmod-ide-pdc202xx +endef +$(eval $(call Profile,WLHDD)) + $(eval $(call BuildKernel)) diff --git a/target/linux/brcm-2.6/Makefile b/target/linux/brcm-2.6/Makefile index 599282803..0c3f5f79a 100644 --- a/target/linux/brcm-2.6/Makefile +++ b/target/linux/brcm-2.6/Makefile @@ -10,6 +10,7 @@ ARCH:=mipsel BOARD:=brcm BOARDNAME:=Broadcom BCM947xx/953xx FEATURES:=pci usb pcmcia squashfs jffs2 +DEFAULT_PACKAGES += kmod-switch define Target/Description Build firmware images for Broadcom based routers @@ -26,4 +27,16 @@ LINUX_KERNEL_MD5SUM:=37ddefe96625502161f075b9d907f21e include $(INCLUDE_DIR)/kernel-build.mk +define Profile/Atheros + NAME:=Atheros WiFi (default) + PACKAGES:=kmod-madwifi +endef +$(eval $(call Profile,Atheros)) + +define Profile/None + NAME:=No WiFi + PACKAGES:= +endef +$(eval $(call Profile,None)) + $(eval $(call BuildKernel))