| KMODDIR?= updates |
| KMODDIR_ARG:= "INSTALL_MOD_DIR=$(KMODDIR)" |
| ifneq ($(origin $(KLIB)), undefined) |
| KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" |
| else |
| KLIB:= /lib/modules/$(shell uname -r) |
| endif |
| export KLIB_BUILD ?= $(KLIB)/build |
| # Sometimes not available in the path |
| MODPROBE := /sbin/modprobe |
| MADWIFI=$(shell $(MODPROBE) -l ath_pci) |
| |
| ifneq ($(KERNELRELEASE),) |
| |
| include $(M)/$(COMPAT_CONFIG) |
| |
| NOSTDINC_FLAGS := -I$(M)/include/ -include $(M)/include/net/compat.h $(CFLAGS) |
| |
| obj-y := net/wireless/ net/mac80211/ |
| ifeq ($(ONLY_CORE),) |
| obj-y += net/ieee80211/ \ |
| drivers/ssb/ \ |
| drivers/misc/ \ |
| drivers/net/ \ |
| drivers/net/usb/ \ |
| drivers/net/wireless/ |
| endif |
| |
| else |
| |
| export PWD := $(shell pwd) |
| |
| # These exported as they are used by the scripts |
| # to check config and compat autoconf |
| export COMPAT_CONFIG=config.mk |
| export CONFIG_CHECK=.$(COMPAT_CONFIG)_md5sum.txt |
| export COMPAT_AUTOCONF=include/linux/compat_autoconf.h |
| -export CREL=$(shell cat $(PWD)/compat-release) |
| export CREL_PRE:=.compat_autoconf_ |
| export CREL_CHECK:=$(CREL_PRE)$(CREL) |
| |
| include $(PWD)/$(COMPAT_CONFIG) |
| |
| all: modules |
| |
| modules: $(CREL_CHECK) |
| @./scripts/check_config.sh |
| $(MAKE) -C $(KLIB_BUILD) M=$(PWD) modules |
| |
| # With the above and this we make sure we generate a new compat autoconf per |
| # new relase of compat-wireless-2.6 OR when the user updates the |
| # $(COMPAT_CONFIG) file |
| $(CREL_CHECK): |
| @# Force to regenerate compat autoconf |
| @rm -f $(CONFIG_CHECK) |
| @./scripts/check_config.sh |
| @touch $@ |
| @md5sum $(COMPAT_CONFIG) > $(CONFIG_CHECK) |
| |
| install: uninstall modules |
| $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \ |
| modules_install |
| @# All the scripts we can use |
| @mkdir -p /usr/lib/compat-wireless/ |
| @install scripts/modlib.sh /usr/lib/compat-wireless/ |
| @install scripts/madwifi-unload /usr/sbin/ |
| @# This is to allow switching between drivers without blacklisting |
| @install scripts/athenable /usr/sbin/ |
| @install scripts/b43enable /usr/sbin/ |
| @install scripts/athload /usr/sbin/ |
| @install scripts/b43load /usr/sbin/ |
| @if [ ! -z $(MADWIFI) ]; then \ |
| echo ;\ |
| echo -n "Note: madwifi detected, we're going to disable it. " ;\ |
| echo "If you would like to enable it later you can run:" ;\ |
| echo " sudo athenable madwifi" ;\ |
| echo ;\ |
| echo Running athenable ath5k...;\ |
| /usr/sbin/athenable ath5k ;\ |
| fi |
| @/sbin/depmod -ae |
| @echo |
| @echo "Currently detected wireless subsystem modules:" |
| @echo |
| @$(MODPROBE) -l mac80211 |
| @# rc80211_simple is a module only on 2.6.22 and 2.6.23 |
| @$(MODPROBE) -l cfg80211 |
| @$(MODPROBE) -l adm8211 |
| @$(MODPROBE) -l at76_usb |
| @$(MODPROBE) -l ath5k |
| @$(MODPROBE) -l ath9k |
| @$(MODPROBE) -l b43 |
| @$(MODPROBE) -l b43legacy |
| @$(MODPROBE) -l ssb |
| @$(MODPROBE) -l iwl3945 |
| @$(MODPROBE) -l iwl4965 |
| @$(MODPROBE) -l ipw2100 |
| @$(MODPROBE) -l ipw2200 |
| @$(MODPROBE) -l ieee80211 |
| @$(MODPROBE) -l ieee80211_crypt |
| @$(MODPROBE) -l libertas_cs |
| @$(MODPROBE) -l ub8xxx |
| @$(MODPROBE) -l p54_pci |
| @$(MODPROBE) -l p54_usb |
| @$(MODPROBE) -l rt2400pci |
| @$(MODPROBE) -l rt2500pci |
| @$(MODPROBE) -l rt2500usb |
| @$(MODPROBE) -l rt61pci |
| @$(MODPROBE) -l rt73usb |
| @$(MODPROBE) -l usbnet |
| @$(MODPROBE) -l cdc_ether |
| @$(MODPROBE) -l rndis_host |
| @$(MODPROBE) -l rndis_wlan |
| @$(MODPROBE) -l rtl8180 |
| @$(MODPROBE) -l rtl8187 |
| @# rc80211_simple is no longer a module |
| @#$(MODPROBE) -l rc80211_simple |
| @$(MODPROBE) -l zd1211rw |
| @echo |
| @echo Now run: |
| @echo |
| @echo make unload |
| @echo |
| @echo And then load the wireless module you need. If unsure run: |
| @echo |
| @echo make load |
| @echo |
| |
| uninstall: |
| @# New location, matches upstream |
| @rm -rf $(KLIB)/$(KMODDIR)/net/mac80211/ |
| @rm -rf $(KLIB)/$(KMODDIR)/net/wireless/ |
| @rm -rf $(KLIB)/$(KMODDIR)/net/ieee80211/ |
| @rm -rf $(KLIB)/$(KMODDIR)/drivers/ssb/ |
| @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/usb/ |
| @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/wireless/ |
| @# Lets only remove the stuff we are sure we are providing |
| @# on the misc directory. |
| @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom_93cx6.ko |
| @/sbin/depmod -ae |
| @if [ -x /usr/sbin/athenable ]; then /usr/sbin/athenable madwifi; fi |
| @if [ -x /usr/sbin/b43enable ]; then /usr/sbin/b43enable bcm43xx; fi |
| @echo |
| @echo "Your old wireless subsystem modules were left intact:" |
| @echo |
| @$(MODPROBE) -l mac80211 |
| @$(MODPROBE) -l cfg80211 |
| @# rc80211_simple is a module on 2.6.22 and 2.6.23 though |
| @$(MODPROBE) -l adm8211 |
| @$(MODPROBE) -l ath5k |
| @$(MODPROBE) -l ath9k |
| @$(MODPROBE) -l at76_usb |
| @$(MODPROBE) -l b43 |
| @$(MODPROBE) -l b43legacy |
| @$(MODPROBE) -l ssb |
| @$(MODPROBE) -l rc80211_simple |
| @$(MODPROBE) -l iwl3945 |
| @$(MODPROBE) -l iwl4965 |
| @$(MODPROBE) -l ipw2100 |
| @$(MODPROBE) -l ipw2200 |
| @$(MODPROBE) -l ieee80211 |
| @$(MODPROBE) -l ieee80211_crypt |
| @$(MODPROBE) -l libertas_cs |
| @$(MODPROBE) -l mac80211 |
| @$(MODPROBE) -l ub8xxx |
| @$(MODPROBE) -l p54pci |
| @$(MODPROBE) -l p54usb |
| @$(MODPROBE) -l rt2400pci |
| @$(MODPROBE) -l rt2500pci |
| @$(MODPROBE) -l rt2500usb |
| @$(MODPROBE) -l rt61pci |
| @$(MODPROBE) -l rt73usb |
| @$(MODPROBE) -l usbnet |
| @$(MODPROBE) -l cdc_ether |
| @$(MODPROBE) -l rndis_host |
| @$(MODPROBE) -l rndis_wlan |
| @$(MODPROBE) -l rtl8180 |
| @$(MODPROBE) -l rtl8187 |
| @# rc80211_simple is no longer a module |
| @#$(MODPROBE) -l rc80211_simple |
| @$(MODPROBE) -l zd1211rw |
| @# Old kernels have ieee80211softmac, this will be removed soon :) |
| @$(MODPROBE) -l ieee80211softmac |
| @ |
| @echo |
| |
| clean: |
| @rm -f compat-release |
| @if [ -d net -a -d $(KLIB_BUILD) ]; then \ |
| $(MAKE) -C $(KLIB_BUILD) M=$(PWD) clean ;\ |
| fi |
| @rm -f $(CREL_PRE)* |
| unload: |
| @./scripts/unload.sh |
| |
| load: unload |
| @./scripts/load.sh |
| |
| .PHONY: all clean install uninstall unload load |
| |
| endif |
| |
| clean-files += Module.symvers modules.order $(CREL_CHECK) $(CONFIG_CHECK) |