implement target profiles in menuconfig
[openwrt-10.03/.git] / package / wlcompat / Makefile
index 4c3632d98107dbab1016f58aea980eeae11ab83d..4a372946581cd7241f4874ef839cc3bbfae89ed1 100644 (file)
@@ -1,48 +1,71 @@
+# 
+# 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:=@PACKAGE_kmod-brcm-wl||PACKAGE_kmod-brcm-wl-mimo +wireless-tools
+  DEFAULT:=y
+  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)
 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