1 | # |
2 | # Copyright (C) 2006 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:=3 |
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 | |