Makefile revision 0e7a3e7a746b5dc6ccf9896e882441c4fdbfd09a
1NIC_SELECT = RTL8192U 2 3KVER := $(shell uname -r) 4MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/$(NIC_SELECT) 5 6CC = gcc 7ifneq ($(shell uname -r|cut -d. -f1,2), 2.4) 8ccflags-y := -I$(TOPDIR)/drivers/net/wireless 9ccflags-y += -O2 10ccflags-y += -DJACKSON_NEW_8187 -DJACKSON_NEW_RX 11 12#it will fail to compile in suse linux enterprise 10 sp2. This flag is to solve this problem. 13ifeq ($(shell uname -r | cut -d. -f1,2,3,4), 2.6.16.60-0) 14ccflags-y := -DOPENSUSE_SLED 15endif 16 17ifeq ($(NIC_SELECT),RTL8192U) 18#ccflags-y := -DUSB_TX_DRIVER_AGGREGATION_ENABLE 19#ccflags-y := -DUSB_RX_AGGREGATION_SUPPORT 20endif 21#ccflags-y := -DJOHN_NOCPY 22#flags to enable or disble 80211D feature 23ieee80211-rsl-objs := ieee80211_rx.o \ 24 ieee80211_softmac.o \ 25 ieee80211_tx.o \ 26 ieee80211_wx.o \ 27 ieee80211_module.o \ 28 ieee80211_softmac_wx.o\ 29 rtl819x_HTProc.o\ 30 rtl819x_TSProc.o\ 31 rtl819x_BAProc.o\ 32 dot11d.o 33 34ieee80211_crypt-rsl-objs := ieee80211_crypt.o 35ieee80211_crypt_tkip-rsl-objs := ieee80211_crypt_tkip.o 36ieee80211_crypt_ccmp-rsl-objs := ieee80211_crypt_ccmp.o 37ieee80211_crypt_wep-rsl-objs := ieee80211_crypt_wep.o 38 39obj-m +=ieee80211-rsl.o 40obj-m +=ieee80211_crypt-rsl.o 41obj-m +=ieee80211_crypt_wep-rsl.o 42obj-m +=ieee80211_crypt_tkip-rsl.o 43obj-m +=ieee80211_crypt_ccmp-rsl.o 44 45KSRC := /lib/modules/$(KVER)/build 46INSTALL_PREFIX := 47 48all: modules 49 50modules: 51 $(MAKE) -C $(KSRC) M=$(PWD) CC=$(CC) modules 52 53install: modules 54 rm -fr $(MODDESTDIR) 55 mkdir -p $(MODDESTDIR) 56 @install -p -m 644 ieee80211_crypt-rsl.ko $(MODDESTDIR) 57 @install -p -m 644 ieee80211_crypt_wep-rsl.ko $(MODDESTDIR) 58 @install -p -m 644 ieee80211_crypt_tkip-rsl.ko $(MODDESTDIR) 59 @install -p -m 644 ieee80211_crypt_ccmp-rsl.ko $(MODDESTDIR) 60 @install -p -m 644 ieee80211-rsl.ko $(MODDESTDIR) 61 depmod -a 62uninstall: 63 rm -fr $(MODDESTDIR) 64 depmod -a 65 66else 67LD := ld 68KSRC := /lib/modules/$(KVER)/build 69CONFIG_FILE := $(KSRC)/include/linux/autoconf.h 70 71CFLAGS += -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall 72CFLAGS += -I$(KSRC)/include -I. 73#Kernel 2.4.31 74CFLAGS += -DMODVERSIONS -DEXPORT_SYMTAB -include $(KSRC)/include/linux/modversions.h 75#Kernel 2.4.20 76#CFLAGS += -D__NO_VERSION__ -DEXPORT_SYMTAB 77SMP := $(shell $(CC) $(MODCFLAGS) -E -dM $(CONFIG_FILE) | \ 78 grep CONFIG_SMP | awk '{print $$3}') 79ifneq ($(SMP),1) 80 SMP := 0 81endif 82ifeq ($(SMP),1) 83 CFLAGS += -D__SMP__ 84endif 85 86#CFLAGS += -DJOHN_NOCPY 87 88OBJS := ${patsubst %.c, %.o, ${wildcard *.c}} 89all:${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 90 91ieee80211_crypt-rsl.o: ieee80211_crypt.o 92 mv $^ $@ 93 94michael_mic-rsl.o: michael_mic.o 95 mv $^ $@ 96 97aes-rsl.o: aes.o 98 mv $^ $@ 99 100ieee80211_crypt_wep-rsl.o: ieee80211_crypt_wep.o 101 mv $^ $@ 102 103ieee80211_crypt_tkip-rsl.o: ieee80211_crypt_tkip.o 104 mv $^ $@ 105 106ieee80211_crypt_ccmp-rsl.o: ieee80211_crypt_ccmp.o 107 mv $^ $@ 108 109crypto-rsl.o: arc4.o api.o autoload.o cipher.o compress.o digest.o scatterwalk.o proc.o 110 $(LD) -r $^ -o $@ 111 112ieee80211-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 113 $(LD) -r $^ -o $@ 114install: 115 rm -fr $(MODDESTDIR) 116 mkdir -p $(MODDESTDIR) 117 @install -p -m 644 ieee80211_crypt-rsl.o $(MODDESTDIR) 118 @install -p -m 644 crypto-rsl.o $(MODDESTDIR) 119 @install -p -m 644 michael_mic-rsl.o $(MODDESTDIR) 120 @install -p -m 644 aes-rsl.o $(MODDESTDIR) 121 @install -p -m 644 ieee80211_crypt_wep-rsl.o $(MODDESTDIR) 122 @install -p -m 644 ieee80211_crypt_tkip-rsl.o $(MODDESTDIR) 123 @install -p -m 644 ieee80211_crypt_ccmp-rsl.o $(MODDESTDIR) 124 @install -p -m 644 ieee80211-rsl.o $(MODDESTDIR) 125 /sbin/depmod -a ${shell uname -r} 126 127uninstall: 128 rm -fr $(MODDESTDIR) 129 /sbin/depmod -a ${shell uname -r} 130 131endif 132 133.PHONY: clean 134clean: 135 rm -fr *.mod.c *.mod *.o .*.cmd *.mod.* *.ko *.o *~ 136 rm -rf .tmp_versions 137 rm -rf Module.symvers 138