X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/0b0afa4d818ec18187b09055fbb8d84a01590d6e..aca2129d2d65c66ed60c8ab31c7ea3ebb4709550:/package/switch/Makefile

diff --git a/package/switch/Makefile b/package/switch/Makefile
index befae3410..a9b881c40 100644
--- a/package/switch/Makefile
+++ b/package/switch/Makefile
@@ -1,23 +1,31 @@
-# $Id$
+# 
+# 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
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=kmod-switch
-PKG_RELEASE:=1
-
-PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)
+PKG_RELEASE:=2
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/kmod-switch
-SECTION:=drivers
-CATEGORY:=Drivers
-DEPENDS:=@LINUX_2_6_BRCM||LINUX_2_4_BRCM
-DEFAULT:=y
-TITLE:=Switch drivers
-DESCRIPTION:=Switch drivers for ADM6996L and BCM53XX RoboSwitch
-VERSION:=$(LINUX_VERSION)-$(BOARD)-$(PKG_RELEASE)
+define KernelPackage/switch
+  SUBMENU:=Other modules
+  DEPENDS:=@TARGET_brcm_2_4||TARGET_brcm47xx||TARGET_brcm63xx
+  TITLE:=Switch drivers
+  FILES:= \
+	$(PKG_BUILD_DIR)/switch-core.$(LINUX_KMOD_SUFFIX) \
+	$(PKG_BUILD_DIR)/switch-adm.$(LINUX_KMOD_SUFFIX) \
+	$(PKG_BUILD_DIR)/switch-robo.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,20,switch-core switch-robo switch-adm)
+endef
+
+define KernelPackage/switch/description
+ This package contains switch drivers for ADM6996L and BCM53XX RoboSwitch.
 endef
 
 define Build/Prepare
@@ -25,20 +33,36 @@ define Build/Prepare
 	$(CP) ./src/* $(PKG_BUILD_DIR)/
 endef
 
+ifeq ($(BOARD),brcm-2.4)
+  BUILDFLAGS := -DBROADCOM -DBCMDRIVER -I$(LINUX_DIR)/arch/mips/bcm947xx/include
+else
+  ifeq ($(BOARD),brcm47xx)
+    BUILDFLAGS := -DBROADCOM
+  endif
+endif
+
+
 define Build/Compile
 	$(MAKE) -C "$(LINUX_DIR)" \
 		CROSS_COMPILE="$(TARGET_CROSS)" \
 		ARCH="$(LINUX_KARCH)" \
-		PATH="$(TARGET_PATH)" \
 		SUBDIRS="$(PKG_BUILD_DIR)" \
-		EXTRA_CFLAGS="-DBCMGPIO2" \
+		EXTRA_CFLAGS="$(BUILDFLAGS)" \
 		modules
 endef
-	
-define Package/kmod-switch/install
-	install -m0755 -d $(1)/lib/modules/$(LINUX_VERSION)
-	$(CP) $(PKG_BUILD_DIR)/*.$(LINUX_KMOD_SUFFIX) \
-		$(1)/lib/modules/$(LINUX_VERSION)
+
+define Build/InstallDev
+	mkdir -p $(1)/usr/include
+	$(CP) ./src/switch-core.h $(1)/usr/include/
+endef
+
+define Build/UninstallDev
+	rm -f $(1)/usr/include/switch-core.h
+endef
+
+define KernelPackage/switch/install
+	$(INSTALL_DIR) $(1)/lib/network/
+	$(INSTALL_BIN) ./files/switch.sh $(1)/lib/network/
 endef
 
-$(eval $(call BuildPackage,kmod-switch))
+$(eval $(call KernelPackage,switch))