| 1 |
# $FreeWRT$ |
| 2 |
#- |
| 3 |
# This file is part of the FreeWRT project. FreeWRT is copyrighted |
| 4 |
# material, please see the LICENCE file in the top-level directory |
| 5 |
# or at http://www.freewrt.org/licence for details. |
| 6 |
|
| 7 |
include $(TOPDIR)/rules.mk |
| 8 |
include $(TOPDIR)/mk/targets.mk |
| 9 |
|
| 10 |
PKG_NAME:= madwifi |
| 11 |
PKG_VERSION:= 0.9.3.1 |
| 12 |
PKG_RELEASE:= 1 |
| 13 |
PKG_MD5SUM:= fa691c19650ca19ac694718a9d557a53 |
| 14 |
PKG_SOURCE_URL:= @SF/$(PKG_NAME) |
| 15 |
|
| 16 |
include $(TOPDIR)/mk/package.mk |
| 17 |
|
| 18 |
ifeq ($(CPU_ARCH),mips) |
| 19 |
HAL_TARGET:=mips-be-elf |
| 20 |
endif |
| 21 |
ifeq ($(CPU_ARCH),mipsel) |
| 22 |
HAL_TARGET:=mips-le-elf |
| 23 |
endif |
| 24 |
ifeq ($(CPU_ARCH),i386) |
| 25 |
HAL_TARGET:=i386-elf |
| 26 |
endif |
| 27 |
ifeq ($(CPU_ARCH),armeb) |
| 28 |
HAL_TARGET:=xscale-be-elf |
| 29 |
endif |
| 30 |
|
| 31 |
BUS := PCI |
| 32 |
|
| 33 |
ifneq ($(FWRT_LINUX_2_4_AR531X),) |
| 34 |
BUS := AHB |
| 35 |
endif |
| 36 |
ifneq ($(FWRT_LINUX_2_6_ARUBA),) |
| 37 |
BUS := PCI AHB # no suitable HAL for AHB yet. |
| 38 |
endif |
| 39 |
|
| 40 |
BUS_MODULES:= |
| 41 |
ifeq ($(findstring AHB,$(BUS)),AHB) |
| 42 |
BUS_MODULES+=$(WRKBUILD)/ath/ath_ahb.$(KERNEL_MOD_SUFFIX) |
| 43 |
endif |
| 44 |
ifeq ($(findstring PCI,$(BUS)),PCI) |
| 45 |
BUS_MODULES+=$(WRKBUILD)/ath/ath_pci.$(KERNEL_MOD_SUFFIX) |
| 46 |
endif |
| 47 |
|
| 48 |
$(eval $(call PKG_template,KMOD_MADWIFI,kmod-madwifi,$(KERNEL_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE),$(ARCH),kernel ($(KERNEL_VERSION)-$(BOARD)-$(KERNEL_RELEASE)))) |
| 49 |
|
| 50 |
$(WRKBUILD)/.configured: |
| 51 |
$(CP) ./files/do_multi.* $(WRKBUILD)/tools |
| 52 |
touch $@ |
| 53 |
|
| 54 |
MADWIFI_MAKEOPTS= -C $(WRKBUILD) \ |
| 55 |
PATH="$(TARGET_PATH)" \ |
| 56 |
ARCH="$(KERNEL_ARCH)" \ |
| 57 |
CROSS_COMPILE="$(TARGET_CROSS)" \ |
| 58 |
TARGET="$(HAL_TARGET)" \ |
| 59 |
TOOLPREFIX="$(KERNEL_CROSS)" \ |
| 60 |
TOOLPATH="$(KERNEL_CROSS)" \ |
| 61 |
KERNELPATH="$(LINUX_DIR)" \ |
| 62 |
DOMULTI=1 |
| 63 |
|
| 64 |
|
| 65 |
$(WRKBUILD)/.built: |
| 66 |
ifeq ($(findstring AHB,$(BUS)),AHB) |
| 67 |
$(MAKE) $(MADWIFI_MAKEOPTS) BUS="AHB" all |
| 68 |
endif |
| 69 |
ifeq ($(findstring PCI,$(BUS)),PCI) |
| 70 |
$(MAKE) $(MADWIFI_MAKEOPTS) BUS="PCI" all |
| 71 |
endif |
| 72 |
$(RSTRIP) $(WRKBUILD)/tools/madwifi_multi |
| 73 |
touch $@ |
| 74 |
|
| 75 |
$(IPKG_KMOD_MADWIFI): |
| 76 |
mkdir -p $(IDIR_KMOD_MADWIFI)/etc/modules.d |
| 77 |
mkdir -p $(IDIR_KMOD_MADWIFI)/etc/init.d |
| 78 |
mkdir -p $(IDIR_KMOD_MADWIFI)/lib/modules/$(KERNEL_VERSION) |
| 79 |
mkdir -p $(IDIR_KMOD_MADWIFI)/usr/sbin |
| 80 |
mkdir -p $(IDIR_KMOD_MADWIFI)/etc/network/if-post-down.d |
| 81 |
mkdir -p $(IDIR_KMOD_MADWIFI)/etc/network/if-pre-up.d |
| 82 |
install -m0644 ./files/madwifi.modules $(IDIR_KMOD_MADWIFI)/etc/modules.d/20-madwifi |
| 83 |
$(CP) $(WRKBUILD)/net80211/wlan*.$(KERNEL_MOD_SUFFIX) \ |
| 84 |
$(WRKBUILD)/ath_hal/ath_hal.$(KERNEL_MOD_SUFFIX) \ |
| 85 |
$(BUS_MODULES) \ |
| 86 |
$(WRKBUILD)/ath_rate/sample/ath_rate_sample.$(KERNEL_MOD_SUFFIX) \ |
| 87 |
$(WRKBUILD)/net80211/*.$(KERNEL_MOD_SUFFIX) \ |
| 88 |
$(IDIR_KMOD_MADWIFI)/lib/modules/$(KERNEL_VERSION)/ |
| 89 |
$(CP) $(WRKBUILD)/tools/{madwifi_multi,80211debug,80211stats,athchans,athctrl,athdebug,athkey,athstats,wlanconfig} $(IDIR_KMOD_MADWIFI)/usr/sbin/ |
| 90 |
$(CP) ./files/wireless-atheros.pre-up $(IDIR_KMOD_MADWIFI)/etc/network/if-pre-up.d/wireless-atheros |
| 91 |
$(CP) ./files/wireless-atheros.post-down $(IDIR_KMOD_MADWIFI)/etc/network/if-post-down.d/wireless-atheros |
| 92 |
$(IPKG_BUILD) $(IDIR_KMOD_MADWIFI) $(PACKAGE_DIR) |
| 93 |
|
| 94 |
$(STAGING_DIR)/usr/include/madwifi/net80211/ieee80211.h: $(WRKBUILD)/.built |
| 95 |
mkdir -p $(STAGING_DIR)/usr/include/madwifi |
| 96 |
$(CP) $(WRKBUILD)/include $(STAGING_DIR)/usr/include/madwifi/ |
| 97 |
mkdir -p $(STAGING_DIR)/usr/include/madwifi/net80211 |
| 98 |
$(CP) $(WRKBUILD)/net80211/*.h $(STAGING_DIR)/usr/include/madwifi/net80211/ |
| 99 |
touch $@ |
| 100 |
|
| 101 |
install-dev: $(STAGING_DIR)/usr/include/madwifi/net80211/ieee80211.h |
| 102 |
|
| 103 |
uninstall-dev: |
| 104 |
rm -rf $(STAGING_DIR)/usr/include/madwifi |
| 105 |
|
| 106 |
compile-targets: install-dev |
| 107 |
clean-targets: uninstall-dev |