fix a compile error
[openwrt.git] / package / wlcompat / Makefile
index 4c3632d..02ad546 100644 (file)
@@ -1,54 +1,67 @@
+# 
+# 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_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
-
-include $(TOPDIR)/package/rules.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
-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)
+PKG_RELEASE:=4
+
+PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)
+
+include $(INCLUDE_DIR)/package.mk
+
+define KernelPackage/wlcompat/Default
+  SUBMENU:=Proprietary BCM43xx WiFi driver
+  SUBMENUDEP:=@LINUX_2_4_BRCM
+  DEPENDS:=@LINUX_2_4_BRCM @PACKAGE_kmod-brcm-wl||PACKAGE_kmod-brcm-wl-mimo +wireless-tools
+  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-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.
+define KernelPackage/wlcompat
+  $(call KernelPackage/wlcompat/Default)
+  FILES:=$(PKG_BUILD_DIR)/wlcompat.o
+  AUTOLOAD:=$(call AutoLoad,50,wlcompat)
 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
+define KernelPackage/wlcompat-debug
+  $(call KernelPackage/wlcompat/Default)
+  TITLE+= (debug)
+  DESCRIPTION+=\\\
+       \\\
+       This is a debugging version.
+  FILES:=$(PKG_BUILD_DIR)/wlcompat-debug.o
 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)/
+define Build/Prepare
+       mkdir -p $(PKG_BUILD_DIR)
+       $(CP) ./src/* $(PKG_BUILD_DIR)/
 endef
 
-define Package/kmod-wlcompat-debug/install
-       install -d -m0755 $(1)/lib/modules/$(LINUX_VERSION)
-       $(CP) $(PKG_BUILD_DIR)/wlcompat-debug.o $(1)/lib/modules/$(LINUX_VERSION)/
+define Build/Compile
+       $(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
 
-$(eval $(call BuildPackage,kmod-wlcompat))
-$(eval $(call BuildPackage,kmod-wlcompat-debug))
+$(eval $(call KernelPackage,wlcompat))
+$(eval $(call KernelPackage,wlcompat-debug))