| 1 | # |
| 2 | # Copyright (C) 2006-2011 OpenWrt.org |
| 3 | # |
| 4 | # This is free software, licensed under the GNU General Public License v2. |
| 5 | # See /LICENSE for more information. |
| 6 | # |
| 7 | |
| 8 | include $(TOPDIR)/rules.mk |
| 9 | include $(INCLUDE_DIR)/kernel.mk |
| 10 | |
| 11 | PKG_NAME:=kmod-switch |
| 12 | PKG_RELEASE:=4 |
| 13 | |
| 14 | include $(INCLUDE_DIR)/package.mk |
| 15 | |
| 16 | define KernelPackage/switch |
| 17 | SUBMENU:=Other modules |
| 18 | DEPENDS:=@TARGET_brcm_2_4||TARGET_brcm47xx||TARGET_brcm63xx |
| 19 | TITLE:=Switch drivers |
| 20 | FILES:= \ |
| 21 | $(PKG_BUILD_DIR)/switch-core.$(LINUX_KMOD_SUFFIX) \ |
| 22 | $(PKG_BUILD_DIR)/switch-adm.$(LINUX_KMOD_SUFFIX) \ |
| 23 | $(PKG_BUILD_DIR)/switch-robo.$(LINUX_KMOD_SUFFIX) |
| 24 | AUTOLOAD:=$(call AutoLoad,20,switch-core switch-robo switch-adm) |
| 25 | endef |
| 26 | |
| 27 | define KernelPackage/switch/description |
| 28 | This package contains switch drivers for ADM6996L and BCM53XX RoboSwitch. |
| 29 | endef |
| 30 | |
| 31 | define Build/Prepare |
| 32 | mkdir -p $(PKG_BUILD_DIR) |
| 33 | $(CP) ./src/* $(PKG_BUILD_DIR)/ |
| 34 | endef |
| 35 | |
| 36 | ifeq ($(BOARD),brcm-2.4) |
| 37 | BUILDFLAGS := -DBROADCOM -DBCMDRIVER -I$(LINUX_DIR)/arch/mips/bcm947xx/include |
| 38 | else |
| 39 | ifeq ($(BOARD),brcm47xx) |
| 40 | BUILDFLAGS := -DBROADCOM |
| 41 | endif |
| 42 | endif |
| 43 | |
| 44 | |
| 45 | define Build/Compile |
| 46 | $(MAKE) -C "$(LINUX_DIR)" \ |
| 47 | CROSS_COMPILE="$(TARGET_CROSS)" \ |
| 48 | ARCH="$(LINUX_KARCH)" \ |
| 49 | SUBDIRS="$(PKG_BUILD_DIR)" \ |
| 50 | EXTRA_CFLAGS="$(BUILDFLAGS)" \ |
| 51 | modules |
| 52 | endef |
| 53 | |
| 54 | define Build/InstallDev |
| 55 | mkdir -p $(1)/usr/include |
| 56 | $(CP) ./src/switch-core.h $(1)/usr/include/ |
| 57 | endef |
| 58 | |
| 59 | define Build/UninstallDev |
| 60 | rm -f $(1)/usr/include/switch-core.h |
| 61 | endef |
| 62 | |
| 63 | define KernelPackage/switch/install |
| 64 | $(INSTALL_DIR) $(1)/lib/network/ |
| 65 | $(INSTALL_BIN) ./files/switch.sh $(1)/lib/network/ |
| 66 | endef |
| 67 | |
| 68 | $(eval $(call KernelPackage,switch)) |
| 69 | |