+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
# $Id$
include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=kmod-wlcompat
-PKG_RELEASE:=3
+PKG_RELEASE:=4
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
+PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)
-include $(TOPDIR)/package/rules.mk
+include $(INCLUDE_DIR)/package.mk
-WLCOMPAT_FLAGS:=$(TARGET_CFLAGS) -D__KERNEL__ -fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 \
- -mno-abicalls -fno-pic -finline-limit=100000 -mabi=32 -march=mips32 -Wa,-32 -Wa,-march=mips32 \
- -Wa,-mips32 -Wa,--trap -DMODULE -mlong-calls -fno-common -I. -I linux-2.4 -funsigned-char -nostdinc \
- -iwithprefix include -I$(LINUX_DIR)/include -I$(LINUX_DIR)/include/asm/gcc -I$(LINUX_DIR)/arch/mips/bcm947xx/include -I$(STAGING_DIR)/usr/include -I./src/include
+define Package/kmod-wlcompat/Default
+ SECTION:=kernel
+ CATEGORY:=Kernel drivers
+ DEPENDS:=kmod-brcm-wl
+ TITLE:=Broadcom wl wrapper module
+ DESCRIPTION:=\
+ This package contains a wrapper module, that provides Wireless Extension \\\
+ support for the proprietary Broadcom wl module.
+ VERSION:=$(LINUX_VERSION)+$(BOARD)-$(PKG_RELEASE)
+endef
define Package/kmod-wlcompat
-SECTION:=drivers
-CATEGORY:=Drivers
-DEPENDS:=
-TITLE:=Wrapper providing Wireless Extensions for Broadcom wl module
-DESCRIPTION:= \\\
-A wrapper module, that provides Wireless Extension support for the \\\
-proprietary Broadcom wl module.
-VERSION:=$(LINUX_VERSION)+$(BOARD)-$(PKG_RELEASE)
+ $(call Package/kmod-wlcompat/Default)
+ DEFAULT:=y
endef
define Package/kmod-wlcompat-debug
-$(call Package/kmod-wlcompat)
-TITLE:=Wrapper providing Wireless Extensions for Broadcom wl module (debug)
-DESCRIPTION:= \\\
-A wrapper module, that provides Wireless Extension support for the \\\
-proprietary Broadcom wl module.
+ $(call Package/kmod-wlcompat/Default)
+ TITLE+= (debug)
+ DESCRIPTION+=\\\
+ \\\
+ This is a debugging version.
+endef
+
+define Build/Prepare
+ mkdir -p $(PKG_BUILD_DIR)
+ $(CP) ./src/* $(PKG_BUILD_DIR)/
endef
define Build/Compile
- $(TARGET_CC) -c -o $(PKG_BUILD_DIR)/wlcompat.o $(WLCOMPAT_FLAGS) wlcompat.c
- $(TARGET_CC) -c -o $(PKG_BUILD_DIR)/wlcompat-debug.o $(WLCOMPAT_FLAGS) -DDEBUG wlcompat.c
+ $(MAKE) -C "$(LINUX_DIR)" \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ ARCH="$(LINUX_KARCH)" \
+ SUBDIRS="$(PKG_BUILD_DIR)" \
+ EXTRA_CFLAGS="-DDEBUG -I$(LINUX_DIR)/arch/mips/bcm947xx/include -I$(PKG_BUILD_DIR)/include" \
+ modules
+ mv $(PKG_BUILD_DIR)/wlcompat.o $(PKG_BUILD_DIR)/wlcompat-debug.o
+ $(MAKE) -C "$(LINUX_DIR)" \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ ARCH="$(LINUX_KARCH)" \
+ SUBDIRS="$(PKG_BUILD_DIR)" \
+ EXTRA_CFLAGS="-I$(LINUX_DIR)/arch/mips/bcm947xx/include -I$(PKG_BUILD_DIR)/include" \
+ modules
endef
define Package/kmod-wlcompat/install
- install -d -m0755 $(1)/etc/modules.d
- echo "wlcompat" > $(1)/etc/modules.d/30-wlcompat
install -d -m0755 $(1)/lib/modules/$(LINUX_VERSION)
$(CP) $(PKG_BUILD_DIR)/wlcompat.o $(1)/lib/modules/$(LINUX_VERSION)/
+ install -d -m0755 $(1)/etc/modules.d
+ echo "wlcompat" > $(1)/etc/modules.d/30-wlcompat
endef
define Package/kmod-wlcompat-debug/install