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