aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/rtl8192u/ieee80211/Makefile
blob: 0775c5599d69858bfdc7ddf6913106cee70de6f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
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)
ccflags-y := -I$(TOPDIR)/drivers/net/wireless
ccflags-y += -O2
ccflags-y += -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)
ccflags-y := -DOPENSUSE_SLED
endif

ifeq ($(NIC_SELECT),RTL8192U)
#ccflags-y := -DUSB_TX_DRIVER_AGGREGATION_ENABLE
#ccflags-y := -DUSB_RX_AGGREGATION_SUPPORT
endif
#ccflags-y := -DJOHN_NOCPY
#flags to enable or disble 80211D feature
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
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