X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/be8ad0190d689eb7f797bdc0618d7e87892a831d..591810182c58e5ebf2bd30b8a9796ef9ed3860c2:/target/linux/brcm-2.4/Makefile diff --git a/target/linux/brcm-2.4/Makefile b/target/linux/brcm-2.4/Makefile index 9447114d4..82bfa1bf9 100644 --- a/target/linux/brcm-2.4/Makefile +++ b/target/linux/brcm-2.4/Makefile @@ -1,66 +1,79 @@ +# +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# include $(TOPDIR)/rules.mk -LINUX_VERSION:=2.4.32 -LINUX_RELEASE:=1 -LINUX_KERNEL_MD5SUM:=38f4d0830e95a20f4bfed17622d5557c +ARCH:=mipsel +BOARD:=brcm +BOARDNAME:=Broadcom BCM947xx/953xx +FEATURES:=squashfs -include ../rules.mk -include ./config +define Target/Description + Build firmware images for Broadcom based routers + (e.g. Linksys WRT54G(S), Asus WL-500g, Motorola WR850G) +endef -# broadcom specific kmod packages -$(eval $(call KMOD_template,BRCM_WL,brcm-wl,\ - $(MODULES_DIR)/kernel/drivers/net/wl/wl.o \ -,CONFIG_WL,,20,wl)) +KERNEL:=2.4 -$(eval $(call KMOD_template,LP,lp,\ - $(MODULES_DIR)/kernel/drivers/parport/parport.o \ - $(MODULES_DIR)/kernel/drivers/parport/parport_splink.o \ - $(MODULES_DIR)/kernel/drivers/char/lp.o \ - $(MODULES_DIR)/kernel/drivers/char/ppdev.o \ -,CONFIG_PARPORT,,50,parport parport_splink lp)) +include $(INCLUDE_DIR)/kernel-build.mk +DEFAULT_PACKAGES += kmod-switch kmod-diag nvram -include ../generic-$(KERNEL)/modules.mk -include ../kernel.mk +define Profile/Broadcom + NAME:=Generic, Broadcom WiFi (default) + PACKAGES:=kmod-brcm-wl wlc nas kmod-wlcompat +endef +$(eval $(call Profile,Broadcom)) +define Profile/BroadcomMimo + NAME:=Generic, Broadcom WiFi (MIMO) + PACKAGES:=kmod-brcm-wl-mimo wlc nas kmod-wlcompat +endef +$(eval $(call Profile,BroadcomMimo)) -$(LINUX_DIR)/.patched: $(LINUX_DIR)/.unpacked - [ -d ../generic-$(KERNEL)/patches ] && $(PATCH) $(LINUX_DIR) ../generic-$(KERNEL)/patches - [ -d ./patches ] && $(PATCH) $(LINUX_DIR) ./patches - @$(CP) config $(LINUX_DIR)/.config - touch $@ +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)) -############################################### -# Proprietary driver for BCM43xx -############################################### -LINUX_BINARY_DRIVER_SITE=http://downloads.openwrt.org/sources -# proprietary driver, extracted from Linksys GPL sourcetree WRT54GS 4.70.6 -LINUX_BINARY_WL_DRIVER=kernel-binary-wl-0.7.tar.gz -LINUX_BINARY_WL_MD5SUM=ff50130914790cbae9b73a13513da5ee +define Profile/WRT54G3G + NAME:=Linksys WRT54G3G + PACKAGES:=kmod-brcm-wl kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-pcmcia-core kmod-pcmcia-serial kmod-nozomi comgt wlc nas kmod-wlcompat +endef +$(eval $(call Profile,WRT54G3G)) -$(DL_DIR)/$(LINUX_BINARY_WL_DRIVER): - $(SCRIPT_DIR)/download.pl $(DL_DIR) $(LINUX_BINARY_WL_DRIVER) $(LINUX_BINARY_WL_MD5SUM) $(LINUX_BINARY_DRIVER_SITE) - -$(LINUX_DIR)/.unpacked: $(DL_DIR)/$(LINUX_BINARY_WL_DRIVER) -$(LINUX_DIR)/.depend_done: $(LINUX_DIR)/.drivers-unpacked -$(LINUX_DIR)/.modules_done: $(LINUX_DIR)/.drivers-unpacked -$(STAMP_DIR)/.linux-compile: $(LINUX_DIR)/.drivers-installed +define Profile/WL500G + NAME:=ASUS WL-500g + PACKAGES:=kmod-brcm-wl kmod-usb-core kmod-usb-ohci kmod-lp wlc nas kmod-wlcompat +endef +$(eval $(call Profile,WL500G)) -$(LINUX_DIR)/.drivers-unpacked: $(LINUX_DIR)/.unpacked - -mkdir -p $(BUILD_DIR) - zcat $(DL_DIR)/$(LINUX_BINARY_WL_DRIVER) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - # copy binary wlan driver - mkdir -p $(LINUX_DIR)/drivers/net/wl - $(CP) $(BUILD_DIR)/kernel-binary-wl/*.o $(LINUX_DIR)/drivers/net/wl - touch $@ +define Profile/WL500GD + NAME:=ASUS WL-500g Deluxe + PACKAGES:=kmod-brcm-wl kmod-usb-core kmod-usb-uhci kmod-usb2 wlc nas kmod-wlcompat +endef +$(eval $(call Profile,WL500GD)) -$(LINUX_DIR)/.drivers-installed: $(LINUX_DIR)/.modules_done - mkdir -p $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.32/kernel/drivers/net/wl - @-[ -f $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.32/kernel/drivers/net/wl/wl.o ] || $(CP) $(LINUX_DIR)/drivers/net/wl/wl.o $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.32/kernel/drivers/net/wl/ - touch $@ +define Profile/WL500GP + NAME:=ASUS WL-500g Premium + PACKAGES:=kmod-brcm-wl kmod-usb-core kmod-usb-ohci kmod-usb2 wlc nas kmod-wlcompat +endef +$(eval $(call Profile,WL500GP)) -linux-dirclean: drivers-clean +define Profile/WLHDD + NAME:=WL-HDD + PACKAGES:=kmod-brcm-wl kmod-usb-core kmod-usb-ohci kmod-ide-core kmod-ide-pdc202xx wlc nas kmod-wlcompat +endef +$(eval $(call Profile,WLHDD)) -drivers-clean: - rm -rf $(BUILD_DIR)/kernel-binary-wl +$(eval $(call BuildKernel))