compat-wireless: turn on TESTMODE and MAC DEBUGFS, turn off BT
[wl12xx/compat-wireless.git] / Makefile
1 export KMODDIR?=       updates
2 KMODDIR_ARG:=   "INSTALL_MOD_DIR=$(KMODDIR)"
3 ifneq ($(origin KLIB), undefined)
4 KMODPATH_ARG:=  "INSTALL_MOD_PATH=$(KLIB)"
5 else
6 export KLIB:=          /lib/modules/$(shell uname -r)
7 endif
8 export KLIB_BUILD ?=    $(KLIB)/build
9 # Sometimes not available in the path
10 MODPROBE := /sbin/modprobe
11 MADWIFI=$(shell $(MODPROBE) -l ath_pci)
12 OLD_IWL=$(shell $(MODPROBE) -l iwl4965)
14 DESTDIR?=
16 ifneq ($(KERNELRELEASE),)
18 NOSTDINC_FLAGS := -I$(M)/include/ \
19         -include $(M)/include/linux/compat-2.6.h \
20         $(CFLAGS)
22 obj-y := compat/
24 obj-$(CONFIG_COMPAT_RFKILL) += net/rfkill/
26 ifeq ($(BT),)
27 obj-$(CONFIG_COMPAT_WIRELESS) += net/wireless/ net/mac80211/
28 obj-$(CONFIG_COMPAT_WIRELESS_MODULES) += drivers/net/wireless/
31 obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/atheros/
32 obj-$(CONFIG_COMPAT_NETWORK_MODULES) += drivers/net/ethernet/broadcom/
35 ifeq ($(CONFIG_STAGING_EXCLUDE_BUILD),)
36 endif
38 endif
40 obj-$(CONFIG_COMPAT_BLUETOOTH) += net/bluetooth/
41 obj-$(CONFIG_COMPAT_BLUETOOTH_MODULES) += drivers/bluetooth/
43 else
45 export PWD :=   $(shell pwd)
46 CFLAGS += \
47         -DCOMPAT_BASE_TREE="\"$(shell cat compat_base_tree)\"" \
48         -DCOMPAT_BASE_TREE_VERSION="\"$(shell cat compat_base_tree_version)\"" \
49         -DCOMPAT_PROJECT="\"Compat-wireless\"" \
50         -DCOMPAT_VERSION="\"$(shell cat compat_version)\""
52 # These exported as they are used by the scripts
53 # to check config and compat autoconf
54 export COMPAT_CONFIG=config.mk
55 export CONFIG_CHECK=.$(COMPAT_CONFIG)_md5sum.txt
56 export COMPAT_AUTOCONF=include/linux/compat_autoconf.h
57 export CREL=$(shell cat $(PWD)/compat_version)
58 export CREL_PRE:=.compat_autoconf_
59 export CREL_CHECK:=$(CREL_PRE)$(CREL)
61 include $(PWD)/$(COMPAT_CONFIG)
63 all: modules
65 modules: $(CREL_CHECK)
66         @./scripts/check_config.sh
67         $(MAKE) -C $(KLIB_BUILD) M=$(PWD) modules
68         @touch $@
70 bt: $(CREL_CHECK)
71         @./scripts/check_config.sh
72         $(MAKE) -C $(KLIB_BUILD) M=$(PWD) BT=TRUE modules
73         @touch $@
75 # With the above and this we make sure we generate a new compat autoconf per
76 # new relase of compat-wireless-2.6 OR when the user updates the 
77 # $(COMPAT_CONFIG) file
78 $(CREL_CHECK):
79         @# Force to regenerate compat autoconf
80         @rm -f $(CONFIG_CHECK)
81         @./scripts/check_config.sh
82         @touch $@
83         @md5sum $(COMPAT_CONFIG) > $(CONFIG_CHECK)
85 btinstall: btuninstall bt-install-modules
87 bt-install-modules: bt
88         $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) BT=TRUE \
89                 modules_install
90         @/sbin/depmod -ae
91         @echo
92         @echo "Currently detected bluetooth subsystem modules:"
93         @echo
94         @$(MODPROBE) -l ath3k       
95         @$(MODPROBE) -l bcm203x
96         @$(MODPROBE) -l bluecard_cs
97         @$(MODPROBE) -l bluetooth
98         @$(MODPROBE) -l bnep
99         @$(MODPROBE) -l bpa10x
100         @$(MODPROBE) -l bt3c_cs
101         @$(MODPROBE) -l btmrvl
102         @$(MODPROBE) -l btmrvl_sdio
103         @$(MODPROBE) -l btsdio
104         @$(MODPROBE) -l btusb
105         @$(MODPROBE) -l btuart_cs
106         @$(MODPROBE) -l cmtp
107         @$(MODPROBE) -l dtl1_cs
108         @$(MODPROBE) -l hidp
109         @$(MODPROBE) -l hci_vhci
110         @$(MODPROBE) -l hci_uart
111         @$(MODPROBE) -l l2cap
112         @$(MODPROBE) -l rfcomm
113         @$(MODPROBE) -l sco
114         @echo
115         @echo Now run:
116         @echo
117         @echo sudo make btunload:
118         @echo
119         @echo And then load the needed bluetooth modules. If unsure reboot.
120         @echo
122 btuninstall:
123         @# New location, matches upstream
124         @rm -rf $(KLIB)/$(KMODDIR)/net/bluetooth/
125         @rm -rf $(KLIB)/$(KMODDIR)/drivers/bluetooth/
126         @# Lets only remove the stuff we are sure we are providing
127         @# on the misc directory.
128         @/sbin/depmod -ae
129         @echo
130         @echo "Your old bluetooth subsystem modules were left intact:"
131         @echo
132         @$(MODPROBE) -l ath3k       
133         @$(MODPROBE) -l bcm203x
134         @$(MODPROBE) -l bluecard_cs
135         @$(MODPROBE) -l bluetooth
136         @$(MODPROBE) -l bnep
137         @$(MODPROBE) -l bpa10x
138         @$(MODPROBE) -l bt3c_cs
139         @$(MODPROBE) -l btmrvl
140         @$(MODPROBE) -l btmrvl_sdio
141         @$(MODPROBE) -l btsdio
142         @$(MODPROBE) -l btusb
143         @$(MODPROBE) -l btuart_cs
144         @$(MODPROBE) -l cmtp
145         @$(MODPROBE) -l dtl1_cs
146         @$(MODPROBE) -l hidp
147         @$(MODPROBE) -l hci_vhci
148         @$(MODPROBE) -l hci_uart
149         @$(MODPROBE) -l l2cap
150         @$(MODPROBE) -l rfcomm
151         @$(MODPROBE) -l sco
152         @echo
154 btclean:
155         make -C /lib/modules/$(shell uname -r)/build M=$(PWD) BT=TRUE clean
156         @rm -f $(CREL_PRE)*
158 install: uninstall install-modules install-scripts
160 install-modules: modules
161         $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \
162                 modules_install
164 install-scripts:
165         @# All the scripts we can use
166         @mkdir -p $(DESTDIR)/usr/lib/compat-wireless/
167         @install scripts/modlib.sh      $(DESTDIR)/usr/lib/compat-wireless/
168         @install scripts/madwifi-unload $(DESTDIR)/usr/sbin/
169         @# This is to allow switching between drivers without blacklisting
170         @install scripts/athenable      $(DESTDIR)/usr/sbin/
171         @install scripts/b43enable      $(DESTDIR)/usr/sbin/
172         @install scripts/iwl-enable     $(DESTDIR)/usr/sbin/
173         @install scripts/athload        $(DESTDIR)/usr/sbin/
174         @install scripts/b43load        $(DESTDIR)/usr/sbin/
175         @install scripts/iwl-load       $(DESTDIR)/usr/sbin/
176         @if [ ! -z "$(MADWIFI)" ] && [ -z "$(DESTDIR)" ]; then \
177                 echo ;\
178                 echo -n "Note: madwifi detected, we're going to disable it. "  ;\
179                 echo "If you would like to enable it later you can run:"  ;\
180                 echo "    sudo athenable madwifi"  ;\
181                 echo ;\
182                 echo Running athenable ath5k...;\
183                 /usr/sbin/athenable ath5k ;\
184         fi
185         @if [ ! -z "$(OLD_IWL)" ] && [ -z "$(DESTDIR)" ]; then \
186                 echo ;\
187                 echo -n "Note: iwl4965 detected, we're going to disable it. "  ;\
188                 echo "If you would like to enable it later you can run:"  ;\
189                 echo "    sudo iwl-load iwl4965"  ;\
190                 echo ;\
191                 echo Running iwl-enable iwlagn...;\
192                 /usr/sbin/iwl-enable iwlagn ;\
193         fi
194         @# If on distributions like Mandriva which like to
195         @# compress their modules this will find out and do
196         @# it for you. Reason is some old version of modutils
197         @# won't know mac80211.ko should be used instead of
198         @# mac80211.ko.gz
199         @./scripts/compress_modules
200         @# Mandrake doesn't have a depmod.d/ conf file to prefer
201         @# the updates/ dir which is what we use so we add one for it
202         @# (or any other distribution that doens't have this).
203         @./scripts/check_depmod
204         @# Udev stuff needed for the new compat_firmware_class.
205         @./compat/scripts/compat_firmware_install
206         @/sbin/depmod -a
207         @echo
208         @echo "Currently detected wireless subsystem modules:"
209         @echo 
210         @$(MODPROBE) -l mac80211
211         @$(MODPROBE) -l cfg80211
212         @$(MODPROBE) -l lib80211
213         @$(MODPROBE) -l adm8211
214         @$(MODPROBE) -l ar9170usb
215         @$(MODPROBE) -l at76c50x-usb
216         @$(MODPROBE) -l ath
217         @$(MODPROBE) -l ath5k
218         @$(MODPROBE) -l ath6kl
219         @$(MODPROBE) -l ath9k
220         @$(MODPROBE) -l ath9k_htc
221         @$(MODPROBE) -l b43
222         @$(MODPROBE) -l b43legacy
223         @$(MODPROBE) -l b44
224         @$(MODPROBE) -l carl9170
225         @$(MODPROBE) -l brcm80211
226         @$(MODPROBE) -l cdc_ether
227         @$(MODPROBE) -l eeprom_93cx6
228         @$(MODPROBE) -l ipw2100
229         @$(MODPROBE) -l ipw2200
230         @$(MODPROBE) -l iwl3945
231         @$(MODPROBE) -l iwlagn
232         @$(MODPROBE) -l iwlcore
233         @$(MODPROBE) -l iwmc3200wifi
234         @$(MODPROBE) -l lib80211_crypt_ccmp
235         @$(MODPROBE) -l lib80211_crypt_tkip
236         @$(MODPROBE) -l lib80211_crypt_wep
237         @$(MODPROBE) -l libertas
238         @$(MODPROBE) -l libertas_cs
239         @$(MODPROBE) -l libertas_sdio
240         @$(MODPROBE) -l libertas_spi
241         @$(MODPROBE) -l libertas_tf
242         @$(MODPROBE) -l libertas_tf_usb
243         @$(MODPROBE) -l libipw
244         @$(MODPROBE) -l mac80211_hwsim
245         @$(MODPROBE) -l mwl8k
246         @$(MODPROBE) -l orinoco_cs
247         @$(MODPROBE) -l orinoco_nortel
248         @$(MODPROBE) -l orinoco_pci
249         @$(MODPROBE) -l orinoco_plx
250         @$(MODPROBE) -l orinoco_tld
251         @$(MODPROBE) -l orinoco_usb
252         @$(MODPROBE) -l orinoco
253         @$(MODPROBE) -l p54common
254         @$(MODPROBE) -l p54pci
255         @$(MODPROBE) -l p54spi
256         @$(MODPROBE) -l p54usb
257         @$(MODPROBE) -l rndis_host
258         @$(MODPROBE) -l rndis_wlan
259         @$(MODPROBE) -l rt2400pci
260         @$(MODPROBE) -l rt2500pci
261         @$(MODPROBE) -l rt2500usb
262         @$(MODPROBE) -l rt2800pci
263         @$(MODPROBE) -l rt2800usb
264         @$(MODPROBE) -l rt2x00lib
265         @$(MODPROBE) -l rt2x00pci
266         @$(MODPROBE) -l rt2x00usb
267         @$(MODPROBE) -l rt61pci
268         @$(MODPROBE) -l rt73usb
269         @$(MODPROBE) -l rtl8180
270         @$(MODPROBE) -l rtl8187
271         @$(MODPROBE) -l rtlwifi
272         @$(MODPROBE) -l rtl8192ce
273         @$(MODPROBE) -l spectrum_cs
274         @$(MODPROBE) -l ssb
275         @$(MODPROBE) -l usb8xxx
276         @$(MODPROBE) -l usbnet
277         @$(MODPROBE) -l wl1251
278         @$(MODPROBE) -l wl12xx
279         @$(MODPROBE) -l zd1211rw
280         @echo
281         @echo "Currently detected ethernet subsystem modules:"
282         @echo
283         @$(MODPROBE) -l atl1
284         @$(MODPROBE) -l atl2
285         @$(MODPROBE) -l atl1e
286         @$(MODPROBE) -l atl1c
287         @echo
288         @echo "Currently detected bluetooth subsystem modules:"
289         @echo
290         @$(MODPROBE) -l ath3k           
291         @$(MODPROBE) -l bcm203x
292         @$(MODPROBE) -l bluecard_cs
293         @$(MODPROBE) -l bluetooth
294         @$(MODPROBE) -l bnep
295         @$(MODPROBE) -l bpa10x
296         @$(MODPROBE) -l bt3c_cs
297         @$(MODPROBE) -l btmrvl
298         @$(MODPROBE) -l btmrvl_sdio
299         @$(MODPROBE) -l btsdio
300         @$(MODPROBE) -l btusb
301         @$(MODPROBE) -l btuart_cs
302         @$(MODPROBE) -l cmtp
303         @$(MODPROBE) -l dtl1_cs
304         @$(MODPROBE) -l hidp
305         @$(MODPROBE) -l hci_vhci
306         @$(MODPROBE) -l hci_uart
307         @$(MODPROBE) -l l2cap
308         @$(MODPROBE) -l rfcomm
309         @$(MODPROBE) -l sco
310         @echo 
311         @echo Now run:
312         @echo 
313         @echo sudo make unload to unload all: wireless, bluetooth and ethernet modules
314         @echo sudo make wlunload to unload wireless modules
315         @echo sudo make btunload to unload bluetooth modules
316         @echo
317         @echo Run sudo modprobe 'driver-name' to load your desired driver. 
318         @echo If unsure reboot.
319         @echo
321 uninstall:
322         @# New location, matches upstream
323         @rm -rf $(KLIB)/$(KMODDIR)/compat/
324         @rm -rf $(KLIB)/$(KMODDIR)/net/mac80211/
325         @rm -rf $(KLIB)/$(KMODDIR)/net/rfkill/
326         @rm -rf $(KLIB)/$(KMODDIR)/net/wireless/
327         @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/usb/
328         @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/wireless/
329         @rm -rf $(KLIB)/$(KMODDIR)/drivers/staging/
330         @rm -rf $(KLIB)/$(KMODDIR)/drivers/net/atl*
331         @# Lets only remove the stuff we are sure we are providing
332         @# on the misc directory.
333         @rm -f $(KLIB)/$(KMODDIR)/drivers/misc/eeprom_93cx6.ko*
334         @rm -f $(KLIB)/$(KMODDIR)/drivers/net/b44.ko*
335         @/sbin/depmod -a
336         @echo
337         @echo "Your old wireless subsystem modules were left intact:"
338         @echo 
339         @$(MODPROBE) -l mac80211
340         @$(MODPROBE) -l cfg80211
341         @$(MODPROBE) -l lib80211
342         @$(MODPROBE) -l adm8211
343         @$(MODPROBE) -l ar9170usb
344         @$(MODPROBE) -l at76c50x-usb
345         @$(MODPROBE) -l ath
346         @$(MODPROBE) -l ath5k
347         @$(MODPROBE) -l ath6kl
348         @$(MODPROBE) -l ath9k
349         @$(MODPROBE) -l ath9k_htc
350         @$(MODPROBE) -l b43
351         @$(MODPROBE) -l b43legacy
352         @$(MODPROBE) -l b44
353         @$(MODPROBE) -l carl9170
354         @$(MODPROBE) -l brcm80211
355         @$(MODPROBE) -l cdc_ether
356         @$(MODPROBE) -l eeprom_93cx6
357         @$(MODPROBE) -l ipw2100
358         @$(MODPROBE) -l ipw2200
359         @$(MODPROBE) -l iwl3945
360         @$(MODPROBE) -l iwlagn
361         @$(MODPROBE) -l iwlcore
362         @$(MODPROBE) -l iwmc3200wifi
363         @$(MODPROBE) -l lib80211_crypt_ccmp
364         @$(MODPROBE) -l lib80211_crypt_tkip
365         @$(MODPROBE) -l lib80211_crypt_wep
366         @$(MODPROBE) -l libertas
367         @$(MODPROBE) -l libertas_cs
368         @$(MODPROBE) -l libertas_sdio
369         @$(MODPROBE) -l libertas_spi
370         @$(MODPROBE) -l libertas_tf
371         @$(MODPROBE) -l libertas_tf_usb
372         @$(MODPROBE) -l libipw
373         @$(MODPROBE) -l mac80211_hwsim
374         @$(MODPROBE) -l mwl8k
375         @$(MODPROBE) -l orinoco_cs
376         @$(MODPROBE) -l orinoco_nortel
377         @$(MODPROBE) -l orinoco_pci
378         @$(MODPROBE) -l orinoco_plx
379         @$(MODPROBE) -l orinoco_tld
380         @$(MODPROBE) -l orinoco_usb
381         @$(MODPROBE) -l orinoco
382         @$(MODPROBE) -l p54common
383         @$(MODPROBE) -l p54pci
384         @$(MODPROBE) -l p54spi
385         @$(MODPROBE) -l p54usb
386         @$(MODPROBE) -l rndis_host
387         @$(MODPROBE) -l rndis_wlan
388         @$(MODPROBE) -l rt2400pci
389         @$(MODPROBE) -l rt2500pci
390         @$(MODPROBE) -l rt2500usb
391         @$(MODPROBE) -l rt2800pci
392         @$(MODPROBE) -l rt2800usb
393         @$(MODPROBE) -l rt2x00lib
394         @$(MODPROBE) -l rt2x00pci
395         @$(MODPROBE) -l rt2x00usb
396         @$(MODPROBE) -l rt61pci
397         @$(MODPROBE) -l rt73usb
398         @$(MODPROBE) -l rtl8180
399         @$(MODPROBE) -l rtl8187
400         @$(MODPROBE) -l rtlwifi
401         @$(MODPROBE) -l rtl8192ce
402         @$(MODPROBE) -l spectrum_cs
403         @$(MODPROBE) -l ssb
404         @$(MODPROBE) -l usb8xxx
405         @$(MODPROBE) -l usbnet
406         @$(MODPROBE) -l wl1251
407         @$(MODPROBE) -l wl12xx
408         @$(MODPROBE) -l zd1211rw
409         @echo
410         @echo "Your old ethernet subsystem modules are left intact:"
411         @echo
412         @$(MODPROBE) -l atl1
413         @$(MODPROBE) -l atl2
414         @$(MODPROBE) -l atl1e
415         @$(MODPROBE) -l atl1c
416         @echo
417         @echo "Your old bluetooth subsystem modules were left intact:"
418         @echo
419         @$(MODPROBE) -l ath3k           
420         @$(MODPROBE) -l bcm203x
421         @$(MODPROBE) -l bluecard_cs
422         @$(MODPROBE) -l bluetooth
423         @$(MODPROBE) -l bnep
424         @$(MODPROBE) -l bpa10x
425         @$(MODPROBE) -l bt3c_cs
426         @$(MODPROBE) -l btmrvl
427         @$(MODPROBE) -l btmrvl_sdio
428         @$(MODPROBE) -l btsdio
429         @$(MODPROBE) -l btusb
430         @$(MODPROBE) -l btuart_cs
431         @$(MODPROBE) -l cmtp
432         @$(MODPROBE) -l dtl1_cs
433         @$(MODPROBE) -l hidp
434         @$(MODPROBE) -l hci_vhci
435         @$(MODPROBE) -l hci_uart
436         @$(MODPROBE) -l l2cap
437         @$(MODPROBE) -l rfcomm
438         @$(MODPROBE) -l sco
439         @
440         @echo 
442 clean:
443         @if [ -d net -a -d $(KLIB_BUILD) ]; then \
444                 $(MAKE) -C $(KLIB_BUILD) M=$(PWD) clean ;\
445         fi
446         @rm -f $(CREL_PRE)*
447 unload:
448         @./scripts/unload.sh
450 btunload:
451         @./scripts/btunload.sh
453 wlunload:
454         @./scripts/wlunload.sh
457 .PHONY: all clean install uninstall unload btunload wlunload modules bt
459 endif
461 clean-files += Module.symvers Module.markers modules modules.order
462 clean-files += $(CREL_CHECK) $(CONFIG_CHECK)