| NIC_SELECT = RTL8192U |
| |
| KVER := $(shell uname -r) |
| MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/$(NIC_SELECT) |
| |
| CC = gcc |
| ifneq ($(shell uname -r|cut -d. -f1,2), 2.4) |
| EXTRA_CFLAGS += -I$(TOPDIR)/drivers/net/wireless |
| EXTRA_CFLAGS += -O2 |
| EXTRA_CFLAGS += -DJACKSON_NEW_8187 -DJACKSON_NEW_RX |
| |
| #it will fail to compile in suse linux enterprise 10 sp2. This flag is to solve this problem. |
| ifeq ($(shell uname -r | cut -d. -f1,2,3,4), 2.6.16.60-0) |
| EXTRA_CFLAGS += -DOPENSUSE_SLED |
| endif |
| |
| ifeq ($(NIC_SELECT),RTL8192U) |
| #EXTRA_CFLAGS += -DUSB_TX_DRIVER_AGGREGATION_ENABLE |
| #EXTRA_CFLAGS += -DUSB_RX_AGGREGATION_SUPPORT |
| endif |
| #EXTRA_CFLAGS += -DJOHN_NOCPY |
| #flags to enable or disble 80211D feature |
| EXTRA_CFLAGS += -DENABLE_DOT11D |
| ieee80211-rsl-objs := ieee80211_rx.o \ |
| ieee80211_softmac.o \ |
| ieee80211_tx.o \ |
| ieee80211_wx.o \ |
| ieee80211_module.o \ |
| ieee80211_softmac_wx.o\ |
| rtl819x_HTProc.o\ |
| rtl819x_TSProc.o\ |
| rtl819x_BAProc.o\ |
| dot11d.o |
| |
| ieee80211_crypt-rsl-objs := ieee80211_crypt.o |
| ieee80211_crypt_tkip-rsl-objs := ieee80211_crypt_tkip.o |
| ieee80211_crypt_ccmp-rsl-objs := ieee80211_crypt_ccmp.o |
| ieee80211_crypt_wep-rsl-objs := ieee80211_crypt_wep.o |
| |
| obj-m +=ieee80211-rsl.o |
| obj-m +=ieee80211_crypt-rsl.o |
| obj-m +=ieee80211_crypt_wep-rsl.o |
| obj-m +=ieee80211_crypt_tkip-rsl.o |
| obj-m +=ieee80211_crypt_ccmp-rsl.o |
| |
| KSRC := /lib/modules/$(KVER)/build |
| INSTALL_PREFIX := |
| |
| all: modules |
| |
| modules: |
| $(MAKE) -C $(KSRC) M=$(PWD) CC=$(CC) modules |
| |
| install: modules |
| rm -fr $(MODDESTDIR) |
| mkdir -p $(MODDESTDIR) |
| @install -p -m 644 ieee80211_crypt-rsl.ko $(MODDESTDIR) |
| @install -p -m 644 ieee80211_crypt_wep-rsl.ko $(MODDESTDIR) |
| @install -p -m 644 ieee80211_crypt_tkip-rsl.ko $(MODDESTDIR) |
| @install -p -m 644 ieee80211_crypt_ccmp-rsl.ko $(MODDESTDIR) |
| @install -p -m 644 ieee80211-rsl.ko $(MODDESTDIR) |
| depmod -a |
| uninstall: |
| rm -fr $(MODDESTDIR) |
| depmod -a |
| |
| else |
| LD := ld |
| KSRC := /lib/modules/$(KVER)/build |
| CONFIG_FILE := $(KSRC)/include/linux/autoconf.h |
| |
| CFLAGS += -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall |
| CFLAGS += -I$(KSRC)/include -I. |
| #Kernel 2.4.31 |
| CFLAGS += -DMODVERSIONS -DEXPORT_SYMTAB -include $(KSRC)/include/linux/modversions.h |
| #Kernel 2.4.20 |
| #CFLAGS += -D__NO_VERSION__ -DEXPORT_SYMTAB |
| #CFLAGS += -DENABLE_DOT11D |
| SMP := $(shell $(CC) $(MODCFLAGS) -E -dM $(CONFIG_FILE) | \ |
| grep CONFIG_SMP | awk '{print $$3}') |
| ifneq ($(SMP),1) |
| SMP := 0 |
| endif |
| ifeq ($(SMP),1) |
| CFLAGS += -D__SMP__ |
| endif |
| |
| #CFLAGS += -DJOHN_NOCPY |
| |
| OBJS := ${patsubst %.c, %.o, ${wildcard *.c}} |
| all:${OBJS} ieee80211_crypt-rsl.o michael_mic-rsl.o aes-rsl.o ieee80211_crypt_wep-rsl.o ieee80211_crypt_tkip-rsl.o ieee80211_crypt_ccmp-rsl.o crypto-rsl.o ieee80211-rsl.o |
| |
| ieee80211_crypt-rsl.o: ieee80211_crypt.o |
| mv $^ $@ |
| |
| michael_mic-rsl.o: michael_mic.o |
| mv $^ $@ |
| |
| aes-rsl.o: aes.o |
| mv $^ $@ |
| |
| ieee80211_crypt_wep-rsl.o: ieee80211_crypt_wep.o |
| mv $^ $@ |
| |
| ieee80211_crypt_tkip-rsl.o: ieee80211_crypt_tkip.o |
| mv $^ $@ |
| |
| ieee80211_crypt_ccmp-rsl.o: ieee80211_crypt_ccmp.o |
| mv $^ $@ |
| |
| crypto-rsl.o: arc4.o api.o autoload.o cipher.o compress.o digest.o scatterwalk.o proc.o |
| $(LD) -r $^ -o $@ |
| |
| ieee80211-rsl.o: ieee80211_rx.o ieee80211_tx.o ieee80211_wx.o ieee80211_module.o ieee80211_softmac_wx.o ieee80211_softmac.o rtl819x_HTProc.o rtl819x_TSProc.o rtl819x_BAProc.o dot11d.o |
| $(LD) -r $^ -o $@ |
| install: |
| rm -fr $(MODDESTDIR) |
| mkdir -p $(MODDESTDIR) |
| @install -p -m 644 ieee80211_crypt-rsl.o $(MODDESTDIR) |
| @install -p -m 644 crypto-rsl.o $(MODDESTDIR) |
| @install -p -m 644 michael_mic-rsl.o $(MODDESTDIR) |
| @install -p -m 644 aes-rsl.o $(MODDESTDIR) |
| @install -p -m 644 ieee80211_crypt_wep-rsl.o $(MODDESTDIR) |
| @install -p -m 644 ieee80211_crypt_tkip-rsl.o $(MODDESTDIR) |
| @install -p -m 644 ieee80211_crypt_ccmp-rsl.o $(MODDESTDIR) |
| @install -p -m 644 ieee80211-rsl.o $(MODDESTDIR) |
| /sbin/depmod -a ${shell uname -r} |
| |
| uninstall: |
| rm -fr $(MODDESTDIR) |
| /sbin/depmod -a ${shell uname -r} |
| |
| endif |
| |
| .PHONY: clean |
| clean: |
| rm -fr *.mod.c *.mod *.o .*.cmd *.mod.* *.ko *.o *~ |
| rm -rf .tmp_versions |
| rm -rf Module.symvers |