| 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) |