| export KMODDIR?= updates | |
| KMODDIR_ARG:= "INSTALL_MOD_DIR=$(KMODDIR)" | |
| ifneq ($(origin KLIB), undefined) | |
| KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" | |
| else | |
| export 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) | |
| OLD_IWL=$(shell $(MODPROBE) -l iwl4965) | |
| DESTDIR?= | |
| ifneq ($(KERNELRELEASE),) | |
| NOSTDINC_FLAGS := -I$(M)/include/ \ | |
| -include $(M)/include/linux/compat-2.6.h \ | |
| $(CFLAGS) | |
| obj-y := compat/ | |
| obj-$(CONFIG_COMPAT_RFKILL) += net/rfkill/ | |
| ifeq ($(BT),) | |
| obj-$(CONFIG_COMPAT_WIRELESS) += net/wireless/ net/mac80211/ | |
| obj-$(CONFIG_COMPAT_WIRELESS_MODULES) += drivers/net/wireless/ | |
| obj-$(CONFIG_COMPAT_NET_USB_MODULES) += drivers/net/usb/ | |
| obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/atheros/ | |
| obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/broadcom/ | |
| obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/ssb/ | |
| obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/bcma/ | |
| obj-$(CONFIG_COMPAT_VAR_MODULES) += drivers/misc/eeprom/ | |
| ifeq ($(CONFIG_STAGING_EXCLUDE_BUILD),) | |
| endif | |
| endif | |
| obj-$(CONFIG_COMPAT_BLUETOOTH) += net/bluetooth/ | |
| obj-$(CONFIG_COMPAT_BLUETOOTH_MODULES) += drivers/bluetooth/ | |
| else | |
| export PWD := $(shell pwd) | |
| CFLAGS += \ | |
| -DCOMPAT_BASE_TREE="\"$(shell cat compat_base_tree)\"" \ | |
| -DCOMPAT_BASE_TREE_VERSION="\"$(shell cat compat_base_tree_version)\"" \ | |
| -DCOMPAT_PROJECT="\"Compat-wireless\"" \ | |
| -DCOMPAT_VERSION="\"$(shell cat compat_version)\"" | |
| # 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_version) | |
| 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 | |
| @touch $@ | |
| bt: $(CREL_CHECK) | |
| @./scripts/check_config.sh | |
| $(MAKE) -C $(KLIB_BUILD) M=$(PWD) BT=TRUE modules | |
| @touch $@ | |
| # 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) | |
| btinstall: btuninstall bt-install-modules | |
| bt-install-modules: bt | |
| $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) BT=TRUE \ | |
| modules_install | |
| @/sbin/depmod -ae | |
| @echo | |
| @echo "Currently detected bluetooth subsystem modules:" | |
| @echo | |
| @$(MODPROBE) -l ath3k | |
| @$(MODPROBE) -l bcm203x | |
| @$(MODPROBE) -l bluecard_cs | |
| @$(MODPROBE) -l bluetooth | |
| @$(MODPROBE) -l bnep | |
| @$(MODPROBE) -l bpa10x | |
| @$(MODPROBE) -l bt3c_cs | |
| @$(MODPROBE) -l btmrvl | |
| @$(MODPROBE) -l btmrvl_sdio | |
| @$(MODPROBE) -l btsdio | |
| @$(MODPROBE) -l btusb | |
| @$(MODPROBE) -l btuart_cs | |
| @$(MODPROBE) -l cmtp | |
| @$(MODPROBE) -l dtl1_cs | |
| @$(MODPROBE) -l hidp | |
| @$(MODPROBE) -l hci_vhci | |
| @$(MODPROBE) -l hci_uart | |
| @$(MODPROBE) -l l2cap | |
| @$(MODPROBE) -l rfcomm | |
| @$(MODPROBE) -l sco | |
| @echo | |
| @echo Now run: | |
| @echo | |
| @echo sudo make btunload: | |
| @echo | |
| @echo And then load the needed bluetooth modules. If unsure reboot. | |
| @echo | |
| btuninstall: | |
| @# New location, matches upstream | |
| @rm -rf $(KLIB)/$(KMODDIR)/net/bluetooth/ | |
| @rm -rf $(KLIB)/$(KMODDIR)/drivers/bluetooth/ | |
| @# Lets only remove the stuff we are sure we are providing | |
| @# on the misc directory. | |
| @/sbin/depmod -ae | |
| @echo | |
| @echo "Your old bluetooth subsystem modules were left intact:" | |
| @echo | |
| @$(MODPROBE) -l ath3k | |
| @$(MODPROBE) -l bcm203x | |
| @$(MODPROBE) -l bluecard_cs | |
| @$(MODPROBE) -l bluetooth | |
| @$(MODPROBE) -l bnep | |
| @$(MODPROBE) -l bpa10x | |
| @$(MODPROBE) -l bt3c_cs | |
| @$(MODPROBE) -l btmrvl | |
| @$(MODPROBE) -l btmrvl_sdio | |
| @$(MODPROBE) -l btsdio | |
| @$(MODPROBE) -l btusb | |
| @$(MODPROBE) -l btuart_cs | |
| @$(MODPROBE) -l cmtp | |
| @$(MODPROBE) -l dtl1_cs | |
| @$(MODPROBE) -l hidp | |
| @$(MODPROBE) -l hci_vhci | |
| @$(MODPROBE) -l hci_uart | |
| @$(MODPROBE) -l l2cap | |
| @$(MODPROBE) -l rfcomm | |
| @$(MODPROBE) -l sco | |
| @echo | |
| btclean: | |
| make -C /lib/modules/$(shell uname -r)/build M=$(PWD) BT=TRUE clean | |
| @rm -f $(CREL_PRE)* | |
| install: uninstall install-modules install-scripts | |
| install-modules: modules | |
| $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \ | |
| modules_install | |
| @./scripts/update-initramfs | |
| install-scripts: | |
| @# All the scripts we can use | |
| @mkdir -p $(DESTDIR)/usr/lib/compat-wireless/ | |
| @install scripts/modlib.sh $(DESTDIR)/usr/lib/compat-wireless/ | |
| @install scripts/madwifi-unload $(DESTDIR)/usr/sbin/ | |
| @# This is to allow switching between drivers without blacklisting | |
| @install scripts/athenable $(DESTDIR)/usr/sbin/ | |
| @install scripts/b43enable $(DESTDIR)/usr/sbin/ | |
| @install scripts/iwl-enable $(DESTDIR)/usr/sbin/ | |
| @install scripts/athload $(DESTDIR)/usr/sbin/ | |
| @install scripts/b43load $(DESTDIR)/usr/sbin/ | |
| @install scripts/iwl-load $(DESTDIR)/usr/sbin/ | |
| @if [ ! -z "$(MADWIFI)" ] && [ -z "$(DESTDIR)" ]; 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 | |
| @if [ ! -z "$(OLD_IWL)" ] && [ -z "$(DESTDIR)" ]; then \ | |
| echo ;\ | |
| echo -n "Note: iwl4965 detected, we're going to disable it. " ;\ | |
| echo "If you would like to enable it later you can run:" ;\ | |
| echo " sudo iwl-load iwl4965" ;\ | |
| echo ;\ | |
| echo Running iwl-enable iwlagn...;\ | |
| /usr/sbin/iwl-enable iwlagn ;\ | |
| fi | |
| @# If on distributions like Mandriva which like to | |
| @# compress their modules this will find out and do | |
| @# it for you. Reason is some old version of modutils | |
| @# won't know mac80211.ko should be used instead of | |
| @# mac80211.ko.gz | |
| @./scripts/compress_modules | |
| @# Mandrake doesn't have a depmod.d/ conf file to prefer | |
| @# the updates/ dir which is what we use so we add one for it | |
| @# (or any other distribution that doens't have this). | |
| @./scripts/check_depmod | |
| @# Udev stuff needed for the new compat_firmware_class. | |
| @./compat/scripts/compat_firmware_install | |
| @/sbin/depmod -a | |
| @echo | |
| @echo "Currently detected wireless subsystem modules:" | |
| @echo | |
| @$(MODPROBE) -l mac80211 | |
| @$(MODPROBE) -l cfg80211 | |
| @$(MODPROBE) -l lib80211 | |
| @$(MODPROBE) -l adm8211 | |
| @$(MODPROBE) -l ar9170usb | |
| @$(MODPROBE) -l at76c50x-usb | |
| @$(MODPROBE) -l ath | |
| @$(MODPROBE) -l ath5k | |
| @$(MODPROBE) -l ath6kl | |
| @$(MODPROBE) -l ath9k | |
| @$(MODPROBE) -l ath9k_htc | |
| @$(MODPROBE) -l b43 | |
| @$(MODPROBE) -l b43legacy | |
| @$(MODPROBE) -l b44 | |
| @$(MODPROBE) -l carl9170 | |
| @$(MODPROBE) -l brcm80211 | |
| @$(MODPROBE) -l cdc_ether | |
| @$(MODPROBE) -l eeprom_93cx6 | |
| @$(MODPROBE) -l ipw2100 | |
| @$(MODPROBE) -l ipw2200 | |
| @$(MODPROBE) -l iwl3945 | |
| @$(MODPROBE) -l iwlagn | |
| @$(MODPROBE) -l iwlcore | |
| @$(MODPROBE) -l iwmc3200wifi | |
| @$(MODPROBE) -l lib80211_crypt_ccmp | |
| @$(MODPROBE) -l lib80211_crypt_tkip | |
| @$(MODPROBE) -l lib80211_crypt_wep | |
| @$(MODPROBE) -l libertas | |
| @$(MODPROBE) -l libertas_cs | |
| @$(MODPROBE) -l libertas_sdio | |
| @$(MODPROBE) -l libertas_spi | |
| @$(MODPROBE) -l libertas_tf | |
| @$(MODPROBE) -l libertas_tf_usb | |
| @$(MODPROBE) -l libipw | |
| @$(MODPROBE) -l mac80211_hwsim | |
| @$(MODPROBE) -l mwl8k | |
| @$(MODPROBE) -l orinoco_cs | |
| @$(MODPROBE) -l orinoco_nortel | |
| @$(MODPROBE) -l orinoco_pci | |
| @$(MODPROBE) -l orinoco_plx | |
| @$(MODPROBE) -l orinoco_tld | |
| @$(MODPROBE) -l orinoco_usb | |
| @$(MODPROBE) -l orinoco | |
| @$(MODPROBE) -l p54common | |
| @$(MODPROBE) -l p54pci | |
| @$(MODPROBE) -l p54spi | |
| @$(MODPROBE) -l p54usb | |
| @$(MODPROBE) -l rndis_host | |
| @$(MODPROBE) -l rndis_wlan | |
| @$(MODPROBE) -l rt2400pci | |
| @$(MODPROBE) -l rt2500pci | |
| @$(MODPROBE) -l rt2500usb | |
| @$(MODPROBE) -l rt2800pci | |
| @$(MODPROBE) -l rt2800usb | |
| @$(MODPROBE) -l rt2x00lib | |
| @$(MODPROBE) -l rt2x00pci | |
| @$(MODPROBE) -l rt2x00usb | |
| @$(MODPROBE) -l rt61pci | |
| @$(MODPROBE) -l rt73usb | |
| @$(MODPROBE) -l rtl8180 | |
| @$(MODPROBE) -l rtl8187 | |
| @$(MODPROBE) -l rtlwifi | |
| @$(MODPROBE) -l rtl8192ce | |
| @$(MODPROBE) -l spectrum_cs | |
| @$(MODPROBE) -l ssb | |
| @$(MODPROBE) -l usb8xxx | |
| @$(MODPROBE) -l usbnet | |
| @$(MODPROBE) -l wl1251 | |
| @$(MODPROBE) -l wl12xx | |
| @$(MODPROBE) -l zd1211rw | |
| @echo | |
| @echo "Currently detected ethernet subsystem modules:" | |
| @echo | |
| @$(MODPROBE) -l atl1 | |
| @$(MODPROBE) -l atl2 | |
| @$(MODPROBE) -l atl1e | |
| @$(MODPROBE) -l atl1c | |
| @echo | |
| @echo "Currently detected bluetooth subsystem modules:" | |
| @echo | |
| @$(MODPROBE) -l ath3k | |
| @$(MODPROBE) -l bcm203x | |
| @$(MODPROBE) -l bluecard_cs | |
| @$(MODPROBE) -l bluetooth | |
| @$(MODPROBE) -l bnep | |
| @$(MODPROBE) -l bpa10x | |
| @$(MODPROBE) -l bt3c_cs | |
| @$(MODPROBE) -l btmrvl | |
| @$(MODPROBE) -l btmrvl_sdio | |
| @$(MODPROBE) -l btsdio | |
| @$(MODPROBE) -l btusb | |
| @$(MODPROBE) -l btuart_cs | |
| @$(MODPROBE) -l cmtp | |
| @$(MODPROBE) -l dtl1_cs | |
| @$(MODPROBE) -l hidp | |
| @$(MODPROBE) -l hci_vhci | |
| @$(MODPROBE) -l hci_uart | |
| @$(MODPROBE) -l l2cap | |
| @$(MODPROBE) -l rfcomm | |
| @$(MODPROBE) -l sco | |
| @echo | |
| @echo Now run: | |
| @echo | |
| @echo sudo make unload to unload all: wireless, bluetooth and ethernet modules | |
| @echo sudo make wlunload to unload wireless modules | |
| @echo sudo make btunload to unload bluetooth modules | |
| @echo | |
| @echo Run sudo modprobe 'driver-name' to load your desired driver. | |
| @echo If unsure reboot. | |
| @echo | |
| uninstall: | |
| @# New location, matches upstream | |
| @rm -rf $(KLIB)/$(KMODDIR)/compat/ | |
| @rm -rf $(KLIB)/$(KMODDIR)/net/mac80211/ | |
| @rm -rf $(KLIB)/$(KMODDIR)/net/rfkill/ | |
| @rm -rf $(KLIB)/$(KMODDIR)/net/wireless/ | |
| @rm -rf $(KLIB)/$(KMODDIR)/drivers/ssb/ | |
| @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/usb/ | |
| @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/wireless/ | |
| @rm -rf $(KLIB)/$(KMODDIR)/drivers/staging/ | |
| @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/atl* | |
| @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/alx.ko* | |
| @# Lets only remove the stuff we are sure we are providing | |
| @# on the misc directory. | |
| @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom/eeprom_93cx6.ko* | |
| @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom_93cx6.ko* | |
| @rm -f $(KLIB)/$(KMODDIR)/drivers/net/b44.ko* | |
| @/sbin/depmod -a | |
| @echo | |
| @echo "Your old wireless subsystem modules were left intact:" | |
| @echo | |
| @$(MODPROBE) -l mac80211 | |
| @$(MODPROBE) -l cfg80211 | |
| @$(MODPROBE) -l lib80211 | |
| @$(MODPROBE) -l adm8211 | |
| @$(MODPROBE) -l ar9170usb | |
| @$(MODPROBE) -l at76c50x-usb | |
| @$(MODPROBE) -l ath | |
| @$(MODPROBE) -l ath5k | |
| @$(MODPROBE) -l ath6kl | |
| @$(MODPROBE) -l ath9k | |
| @$(MODPROBE) -l ath9k_htc | |
| @$(MODPROBE) -l b43 | |
| @$(MODPROBE) -l b43legacy | |
| @$(MODPROBE) -l b44 | |
| @$(MODPROBE) -l carl9170 | |
| @$(MODPROBE) -l brcm80211 | |
| @$(MODPROBE) -l cdc_ether | |
| @$(MODPROBE) -l eeprom_93cx6 | |
| @$(MODPROBE) -l ipw2100 | |
| @$(MODPROBE) -l ipw2200 | |
| @$(MODPROBE) -l iwl3945 | |
| @$(MODPROBE) -l iwlagn | |
| @$(MODPROBE) -l iwlcore | |
| @$(MODPROBE) -l iwmc3200wifi | |
| @$(MODPROBE) -l lib80211_crypt_ccmp | |
| @$(MODPROBE) -l lib80211_crypt_tkip | |
| @$(MODPROBE) -l lib80211_crypt_wep | |
| @$(MODPROBE) -l libertas | |
| @$(MODPROBE) -l libertas_cs | |
| @$(MODPROBE) -l libertas_sdio | |
| @$(MODPROBE) -l libertas_spi | |
| @$(MODPROBE) -l libertas_tf | |
| @$(MODPROBE) -l libertas_tf_usb | |
| @$(MODPROBE) -l libipw | |
| @$(MODPROBE) -l mac80211_hwsim | |
| @$(MODPROBE) -l mwl8k | |
| @$(MODPROBE) -l orinoco_cs | |
| @$(MODPROBE) -l orinoco_nortel | |
| @$(MODPROBE) -l orinoco_pci | |
| @$(MODPROBE) -l orinoco_plx | |
| @$(MODPROBE) -l orinoco_tld | |
| @$(MODPROBE) -l orinoco_usb | |
| @$(MODPROBE) -l orinoco | |
| @$(MODPROBE) -l p54common | |
| @$(MODPROBE) -l p54pci | |
| @$(MODPROBE) -l p54spi | |
| @$(MODPROBE) -l p54usb | |
| @$(MODPROBE) -l rndis_host | |
| @$(MODPROBE) -l rndis_wlan | |
| @$(MODPROBE) -l rt2400pci | |
| @$(MODPROBE) -l rt2500pci | |
| @$(MODPROBE) -l rt2500usb | |
| @$(MODPROBE) -l rt2800pci | |
| @$(MODPROBE) -l rt2800usb | |
| @$(MODPROBE) -l rt2x00lib | |
| @$(MODPROBE) -l rt2x00pci | |
| @$(MODPROBE) -l rt2x00usb | |
| @$(MODPROBE) -l rt61pci | |
| @$(MODPROBE) -l rt73usb | |
| @$(MODPROBE) -l rtl8180 | |
| @$(MODPROBE) -l rtl8187 | |
| @$(MODPROBE) -l rtlwifi | |
| @$(MODPROBE) -l rtl8192ce | |
| @$(MODPROBE) -l spectrum_cs | |
| @$(MODPROBE) -l ssb | |
| @$(MODPROBE) -l usb8xxx | |
| @$(MODPROBE) -l usbnet | |
| @$(MODPROBE) -l wl1251 | |
| @$(MODPROBE) -l wl12xx | |
| @$(MODPROBE) -l zd1211rw | |
| @echo | |
| @echo "Your old ethernet subsystem modules are left intact:" | |
| @echo | |
| @$(MODPROBE) -l atl1 | |
| @$(MODPROBE) -l atl2 | |
| @$(MODPROBE) -l atl1e | |
| @$(MODPROBE) -l atl1c | |
| @$(MODPORBE) -l alx | |
| @echo | |
| @echo "Your old bluetooth subsystem modules were left intact:" | |
| @echo | |
| @$(MODPROBE) -l ath3k | |
| @$(MODPROBE) -l bcm203x | |
| @$(MODPROBE) -l bluecard_cs | |
| @$(MODPROBE) -l bluetooth | |
| @$(MODPROBE) -l bnep | |
| @$(MODPROBE) -l bpa10x | |
| @$(MODPROBE) -l bt3c_cs | |
| @$(MODPROBE) -l btmrvl | |
| @$(MODPROBE) -l btmrvl_sdio | |
| @$(MODPROBE) -l btsdio | |
| @$(MODPROBE) -l btusb | |
| @$(MODPROBE) -l btuart_cs | |
| @$(MODPROBE) -l cmtp | |
| @$(MODPROBE) -l dtl1_cs | |
| @$(MODPROBE) -l hidp | |
| @$(MODPROBE) -l hci_vhci | |
| @$(MODPROBE) -l hci_uart | |
| @$(MODPROBE) -l l2cap | |
| @$(MODPROBE) -l rfcomm | |
| @$(MODPROBE) -l sco | |
| @ | |
| @echo | |
| clean: | |
| @if [ -d net -a -d $(KLIB_BUILD) ]; then \ | |
| $(MAKE) -C $(KLIB_BUILD) M=$(PWD) clean ;\ | |
| fi | |
| @rm -f $(CREL_PRE)* | |
| unload: | |
| @./scripts/unload.sh | |
| btunload: | |
| @./scripts/btunload.sh | |
| wlunload: | |
| @./scripts/wlunload.sh | |
| .PHONY: all clean install uninstall unload btunload wlunload modules bt | |
| endif | |
| clean-files += Module.symvers Module.markers modules modules.order | |
| clean-files += $(CREL_CHECK) $(CONFIG_CHECK) |