UBUNTU: SAUCE: rtl8192se: Force a build for a 2.6/3.0 kernel
[linux-flexiantxendom0-natty.git] / ubuntu / rtl8192se / Makefile
1 NIC_SELECT = RTL8192SE
2
3 CC = gcc
4 KVER  := $(shell uname -r)
5 MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
6
7 ifeq (1,1)
8 ###################### KERNEL 2.6 ################################
9 ifeq ($(NIC_SELECT),RTL8192CE)
10 sub_folder = rtl8192c
11 EXTRA_CFLAGS = -DRTL8192CE
12 EXTRA_CFLAGS += -DEEPROM_OLD_FORMAT_SUPPORT=0           \
13                 -DRTL8192SU_DISABLE_CCK_RATE=0          \
14                 -DDISABLE_BB_RF=0                       \
15                 -DRTL92SE_FPGA_VERIFY=0                 \
16                 -DSIMULATE_ETHERNET=0                   \
17                 -DSUPERMAC_92D_ENABLE=0                 \
18                 -DEARLYMODE_ENABLE_FOR_92D=0            \
19                 -DRTL8192S_DISABLE_FW_DM=0              \
20                 -DMP_CCK_WORKAROUND=0                   \
21                 -DRTL8192SE_DISABLE_MGNT_QUEUE=0        \
22                 -DRTL8190_Download_Firmware_From_Header=1 \
23                 -DMUTUAL_AUTHENTICATION=1               \
24                 -DFOR_QMI=0                             \
25                 -DCONFIG_PM_RTL                         \
26                 -DCONFIG_PM                             \
27                 -DENABLE_IPS                            \
28                 -DENABLE_LPS                            \
29                 -DCONFIG_ASPM_OR_D3                     \
30                 -DENABLE_GPIO_RADIO_CTL                 \
31                 -DMP_DRIVER=0                           \
32                 -DENABLE_DOT11D                         \
33                 #                                       \
34                 -DENABLE_TKIP11N                        \
35                 -D_ENABLE_SW_BEACON                     \
36                 -DUSE_FW_SOURCE_IMG_FILE                \
37                 -DEFUSE_REPG_WORKAROUND                 \
38                 -DENABLE_AMSDU                          \
39                 -DADHOC_11N                             \
40                 -DFOR_ANDROID_X86                       \
41                 -DCONFIG_64BIT_DMA                      \
42                 -DCONFIG_BT_30                          \
43                 #
44 endif
45
46 ifeq ($(NIC_SELECT),RTL8192SE)
47 sub_folder = rtl8192s
48 EXTRA_CFLAGS = -DRTL8192SE
49 EXTRA_CFLAGS += -DEEPROM_OLD_FORMAT_SUPPORT=0           \
50                 -DRTL92SE_FPGA_VERIFY=0                 \
51                 -DDEMO_BOARD_SUPPORT=1                  \
52                 -DRTL8192SU_DISABLE_CCK_RATE=0          \
53                 -DRTL8192S_DISABLE_FW_DM=0              \
54                 -DHAL_MAC_ENABLE=1                      \
55                 -DHAL_BB_ENABLE=1                       \
56                 -DHAL_RF_ENABLE=1                       \
57                 -DRTL8192S_PREPARE_FOR_NORMAL_RELEASE=1 \
58                 -DDISABLE_BB_RF=0                       \
59                 -DCONFIG_PM_RTL                         \
60                 -DCONFIG_PM                             \
61                 -DENABLE_GPIO_RADIO_CTL                 \
62                 -DRTL8190_Download_Firmware_From_Header=1 \
63                 -DENABLE_LPS                            \
64                 -DCONFIG_RX_CMD                         \
65                 -DENABLE_IPS                            \
66                 -DUSE_FW_SOURCE_IMG_FILE                \
67                 -DENABLE_DOT11D                         \
68                 -DCONFIG_ASPM_OR_D3                     \
69                 -DRTLLIB_RADIOTAP                       \
70                 -DCONFIG_CFG_80211                      \
71                 -DCONFIG_RTL_RFKILL                     \
72                 #                                       \
73                 -DCONFIG_CRDA                           \
74                 -DCONFIG_FW_SETCHAN                     \
75                 -DRTL8192S_WAPI_SUPPORT                 \
76                 -D_ENABLE_SW_BEACON                     \
77                 -DCONFIG_MP                             \
78                 -DENABLE_AMSDU                          \
79                 -DADHOC_11N                             \
80                 -DEFUSE_REPG_WORKAROUN                  \
81                 -DENABLE_TKIP11N                        \
82                 -DFOR_ANDROID_X86                       \
83                 #
84                 #NOTICE:
85                 #[1] CONFIG_MP is for MP test, 
86                 #    you should close IPS/LPS/GPIO/ASPM 
87                 #[2] In order to support CRDA, RFKILL 
88                 #    CONFIG_CFG_80211 need to be enabled at first.
89                 #[3] In order to support CRDA, 
90                 #    DOT11D need to be enabled at first.
91                 #[4] CRDA and RFKILL can be enabled individually. 
92                 
93                 
94 endif
95 ifeq ($(NIC_SELECT),RTL8190P)
96 sub_folder = rtl8192e
97 EXTRA_CFLAGS += -DRTL8190P                              \
98                 -DUSE_FW_SOURCE_IMG_FILE                \
99                 -DEEPROM_OLD_FORMAT_SUPPORT=1           \
100                 -DENABLE_DOT11D                         \
101                 -DCONFIG_PM                             \
102                 -DCONFIG_PM_RTL                         \
103                 #                                       \
104                 -DENABLE_TKIP11N                        \
105                 -DFOR_ANDROID_X86                       \
106                 #
107 endif
108 ifeq ($(NIC_SELECT),RTL8192E)
109 sub_folder = rtl8192e
110 EXTRA_CFLAGS+=-DRTL8192E                                \
111                 -DEEPROM_OLD_FORMAT_SUPPORT=1           \
112                 -DUSE_FW_SOURCE_IMG_FILE                \
113                 -DENABLE_IPS                            \
114                 -DENABLE_LPS                            \
115                 -DENABLE_GPIO_RADIO_CTL                 \
116                 -DCONFIG_PM_RTL                         \
117                 -DCONFIG_PM                             \
118                 -DENABLE_DOT11D                         
119                 #                                       \
120                 -DCONFIG_RTL8192_IO_MAP                 \
121                 -DCONFIG_ASPM_OR_D3                     \
122                 -DENABLE_TKIP11N                        \
123                 -DFOR_ANDROID_X86                       \
124                 #
125 endif
126 ifeq ($(NIC_SELECT),RTL8191SE_MESH)
127 sub_folder = rtl8192s
128 EXTRA_CFLAGS += -DRTL8192SE                             \
129                 -DEEPROM_OLD_FORMAT_SUPPORT=0           \
130                 -DRTL92SE_FPGA_VERIFY=0                 \
131                 -DDEMO_BOARD_SUPPORT=1                  \
132                 -DRTL8192SU_DISABLE_CCK_RATE=0          \
133                 -DRTL8192S_DISABLE_FW_DM=0              \
134                 -DHAL_MAC_ENABLE=1                      \
135                 -DHAL_BB_ENABLE=1                       \
136                 -DHAL_RF_ENABLE=1                       \
137                 -DRTL8192S_PREPARE_FOR_NORMAL_RELEASE=1 \
138                 -DDISABLE_BB_RF=0                       \
139                 -DRTL8190_Download_Firmware_From_Header=1 \
140                 -DEFUSE_REPG_WORKAROUND                 \
141                 -DCONFIG_PM                             \
142                 -DCONFIG_PM_RTL                         \
143                 -DENABLE_GPIO_RADIO_CTL                 \
144                 -DENABLE_IPS                            \
145                 -DENABLE_LPS                            \
146                 -DCONFIG_ASPM_OR_D3                     \
147                 -DCUSTOMER_ID_INTEL_CMPC                \
148                 -DMESH_8192_SPECIFIED                   \
149                 -D_RTL8192_EXT_PATCH_                   \
150                 -D_MESH_DEBUG_                          \
151                 -DTREE_BASED_ROUTING_ENABLE             \
152                 -DMESH_PATHSEL_DBG_LV=0                 \
153                 -DMESH_PATHSEL_DBG_SIMPLE=0             \
154                 -DMESH_PATHSEL_DBG_TEST=0               \
155                 -DBUILT_IN_MSHCLASS                     \
156                 -DENABLE_AMSDU                          \
157                 -DUSE_FW_SOURCE_IMG_FILE                \
158                 -DENABLE_DOT11D                         \
159                 -DCONFIG_RX_CMD                         \
160                 #                                       \
161                 -DADHOC_11N                             \
162                 -DCOMPATIBLE_WITH_RALINK_MESH           \
163                 -DCONFIG_CRDA                           \
164                 -DCONFIG_FW_SETCHAN                     \
165                 -DRTL8192S_WAPI_SUPPORT                 \
166                 -DMESH_AUTO_TEST                        \
167                 -D_ENABLE_SW_BEACON                     \
168                 -DEFUSE_REPG_WORKAROUND                 \
169                 -DENABLE_TKIP11N                        \
170                 -DFOR_ANDROID_X86                       \
171                 -DCONFIG_MP                             \
172                 #
173 endif
174
175 ifeq ($(NIC_SELECT),RTL8192CE_MESH)
176 sub_folder = rtl8192c
177 EXTRA_CFLAGS = -DRTL8192CE
178 EXTRA_CFLAGS += -DEEPROM_OLD_FORMAT_SUPPORT=0           \
179                 -DRTL8192SU_DISABLE_CCK_RATE=0          \
180                 -DDISABLE_BB_RF=0                       \
181                 -DRTL92SE_FPGA_VERIFY=0                 \
182                 -DSIMULATE_ETHERNET=0                   \
183                 -DSUPERMAC_92D_ENABLE=0                 \
184                 -DEARLYMODE_ENABLE_FOR_92D=0            \
185                 -DRTL8192S_DISABLE_FW_DM=0              \
186                 -DMP_CCK_WORKAROUND=0                   \
187                 -DRTL8192SE_DISABLE_MGNT_QUEUE=0        \
188                 -DRTL8190_Download_Firmware_From_Header=1 \
189                 -DMUTUAL_AUTHENTICATION=1               \
190                 -DFOR_QMI=0                             \
191                 -DENABLE_TKIP11N                        \
192                 -DCONFIG_PM_RTL                         \
193                 -DCONFIG_PM                             \
194                 -DENABLE_IPS                            \
195                 -DENABLE_LPS                            \
196                 -DCONFIG_ASPM_OR_D3                     \
197                 -DENABLE_GPIO_RADIO_CTL                 \
198                 -DMP_DRIVER=0                           \
199                 -DENABLE_DOT11D                         \
200                 -DEFUSE_REPG_WORKAROUND                 \
201                 -DCUSTOMER_ID_INTEL_CMPC                \
202                 -DMESH_8192_SPECIFIED                   \
203                 -D_RTL8192_EXT_PATCH_                   \
204                 -D_MESH_DEBUG_                          \
205                 -DTREE_BASED_ROUTING_ENABLE             \
206                 -DMESH_PATHSEL_DBG_LV=0                 \
207                 -DMESH_PATHSEL_DBG_SIMPLE=0             \
208                 -DMESH_PATHSEL_DBG_TEST=0               \
209                 -DBUILT_IN_MSHCLASS                     \
210                 -DENABLE_AMSDU                          \
211                 #                                       \
212                 -D_ENABLE_SW_BEACON                     \
213                 -DUSE_FW_SOURCE_IMG_FILE                \
214                 -DCOMPATIBLE_WITH_RALINK_MESH           \
215                 -DEFUSE_REPG_WORKAROUND                 \
216                 -DENABLE_AMSDU                          \
217                 -DADHOC_11N                             \
218                 -DFOR_ANDROID_X86                       \
219                 -DCONFIG_64BIT_DMA                      \
220                 #
221 endif
222
223 #it will fail to compile in suse linux enterprise 10 sp2. This flag is to solve this problem.
224 ifeq ($(shell uname -r | cut -d. -f1,2,3,4), 2.6.16.60-0)
225         EXTRA_CFLAGS += -DOPENSUSE_SLED=1
226 else
227         EXTRA_CFLAGS += -DOPENSUSE_SLED=0
228 endif
229
230 # Switch AP will fail in moblin2. This flag is to solve this issue.
231 ifeq ($(shell uname -r | cut -d. -f6 | cut -d- -f1), moblin2)
232         EXTRA_CFLAGS += -DFOR_MOBLIN
233 endif
234
235 EXTRA_CFLAGS += -I$(TOPDIR)/drivers/net/wireless
236 EXTRA_CFLAGS += -std=gnu89
237 EXTRA_CFLAGS += -O2
238 EXTRA_CFLAGS += -mhard-float -DCONFIG_FORCE_HARD_FLOAT=y
239 EXTRA_CFLAGS += -DTHOMAS_TURBO
240 #flag for single module compile
241 EXTRA_CFLAGS += -DBUILT_IN_RTLLIB
242 #EXTRA_CFLAGS += -DCONFIG_RTLWIFI_DEBUGFS
243 ifeq ($(NIC_SELECT),RTL8190P)
244 r8190_pci-objs := rtl_core.o            \
245                   rtl_eeprom.o          \
246                   rtl_ps.o              \
247                   rtl_wx.o              \
248                   rtl_cam.o             \
249                   rtl_dm.o              \
250                   rtl_pm.o              \
251                   rtl_pci.o             \
252                   rtl_debug.o           \
253                   rtl_ethtool.o         \
254                   rtl8192e/r8190P_hwimg.o       \
255                   rtl8192e/r8190P_rtl8256.o     \
256                   rtl8192e/r8192E_dev.o         \
257                   rtl8192e/r8192E_phy.o                 \
258                   rtl8192e/r8192E_firmware.o    \
259                   rtl8192e/r8192E_cmdpkt.o      \
260                   ../../rtllib/rtllib_rx.o                \
261                   ../../rtllib/rtllib_softmac.o           \
262                   ../../rtllib/rtllib_tx.o                \
263                   ../../rtllib/rtllib_wx.o                \
264                   ../../rtllib/rtllib_module.o            \
265                   ../../rtllib/rtllib_softmac_wx.o        \
266                   ../../rtllib/rtl819x_HTProc.o              \
267                   ../../rtllib/rtl819x_TSProc.o              \
268                   ../../rtllib/rtl819x_BAProc.o              \
269                   ../../rtllib/dot11d.o                      \
270                   ../../rtllib/rtllib_crypt.o             \
271                   ../../rtllib/rtllib_crypt_tkip.o        \
272                   ../../rtllib/rtllib_crypt_ccmp.o        \
273                   ../../rtllib/rtllib_crypt_wep.o
274
275 obj-m := r8190_pci.o
276 endif
277 ifeq ($(NIC_SELECT),RTL8192E)
278 r8192e_pci-objs := rtl_core.o           \
279                   rtl_eeprom.o  \
280                   rtl_ps.o              \
281                   rtl_wx.o      \
282                   rtl_cam.o             \
283                   rtl_dm.o              \
284                   rtl_pm.o              \
285                   rtl_pci.o             \
286                   rtl_debug.o           \
287                   rtl_ethtool.o         \
288                   rtl8192e/r8192E_dev.o         \
289                   rtl8192e/r8192E_phy.o                 \
290                   rtl8192e/r8192E_firmware.o    \
291                   rtl8192e/r8192E_cmdpkt.o      \
292                   rtl8192e/r8192E_hwimg.o       \
293                   rtl8192e/r8190P_rtl8256.o     \
294                   ../../rtllib/rtllib_rx.o                \
295                   ../../rtllib/rtllib_softmac.o           \
296                   ../../rtllib/rtllib_tx.o                \
297                   ../../rtllib/rtllib_wx.o                \
298                   ../../rtllib/rtllib_module.o            \
299                   ../../rtllib/rtllib_softmac_wx.o        \
300                   ../../rtllib/rtl819x_HTProc.o              \
301                   ../../rtllib/rtl819x_TSProc.o              \
302                   ../../rtllib/rtl819x_BAProc.o              \
303                   ../../rtllib/dot11d.o                      \
304                   ../../rtllib/rtllib_crypt.o             \
305                   ../../rtllib/rtllib_crypt_tkip.o        \
306                   ../../rtllib/rtllib_crypt_ccmp.o        \
307                   ../../rtllib/rtllib_crypt_wep.o
308 obj-m := r8192e_pci.o
309 endif
310 ifeq ($(NIC_SELECT),RTL8192SE)
311 r8192se_pci-objs := rtl_core.o          \
312                   rtl_regd.o            \
313                   rtl_rfkill.o          \
314                   rtl_eeprom.o          \
315                   rtl_wx.o              \
316                   rtl_cam.o             \
317                   rtl_pm.o              \
318                   rtl_pci.o             \
319                   rtl_ps.o              \
320                   rtl_dm.o              \
321                   rtl_debug.o           \
322                   rtl_ethtool.o         \
323                   rtl8192s/r8192S_dev.o         \
324                   rtl8192s/r8192S_Efuse.o       \
325                   rtl8192s/r8192S_phy.o         \
326                   rtl8192s/r8192S_firmware.o    \
327                   rtl8192s/r8192S_rtl6052.o     \
328                   rtl8192s/r8192S_hwimg.o       \
329                   rtl8192s/r8192S_led.o         \
330                   rtl8192s/r8192S_mp.o          \
331                   rtl8192s/r8192S_scan.o        \
332                   rtllib/rtllib_rx.o                \
333                   rtllib/rtllib_softmac.o           \
334                   rtllib/rtllib_tx.o                \
335                   rtllib/rtllib_wx.o                \
336                   rtllib/rtllib_module.o            \
337                   rtllib/rtllib_softmac_wx.o        \
338                   rtllib/rtl819x_HTProc.o              \
339                   rtllib/rtl819x_TSProc.o              \
340                   rtllib/rtl819x_BAProc.o              \
341                   rtllib/dot11d.o                      \
342                   rtllib/rtllib_crypt.o             \
343                   rtllib/rtllib_crypt_tkip.o        \
344                   rtllib/rtllib_crypt_ccmp.o        \
345                   rtllib/rtllib_crypt_wep.o             \
346                   rtllib/wapi.o                         \
347                   rtllib/wapi_interface.o
348 #                 rtl8192e/r8190P_rtl8256.o     
349 obj-m := r8192se_pci.o
350 endif
351
352 ifeq ($(NIC_SELECT),RTL8192CE)
353 r8192ce_pci-objs := rtl_core.o          \
354                   rtl_eeprom.o          \
355                   rtl_wx.o              \
356                   rtl_cam.o             \
357                   rtl_pm.o              \
358                   rtl_pci.o             \
359                   rtl_ps.o              \
360                   rtl_debug.o           \
361                   rtl_ethtool.o         \
362                   rtl8192c/r8192C_dev.o         \
363                   rtl8192c/r8192C_Efuse.o       \
364                   rtl8192c/r8192C_phy.o         \
365                   rtl8192c/r8192C_firmware.o    \
366                   rtl8192c/r8192C_dm.o          \
367                   rtl8192c/r8192C_rtl6052.o     \
368                   rtl8192c/r8192C_hwimg.o       \
369                   rtl8192c/r8192C_led.o         \
370                   rtl8192c/r8192C_com.o         \
371                   ../../rtllib/rtllib_rx.o                \
372                   ../../rtllib/rtllib_softmac.o           \
373                   ../../rtllib/rtllib_tx.o                \
374                   ../../rtllib/rtllib_wx.o                \
375                   ../../rtllib/rtllib_module.o            \
376                   ../../rtllib/rtllib_softmac_wx.o        \
377                   ../../rtllib/rtl819x_HTProc.o              \
378                   ../../rtllib/rtl819x_TSProc.o              \
379                   ../../rtllib/rtl819x_BAProc.o              \
380                   ../../rtllib/dot11d.o                      \
381                   ../../rtllib/rtllib_crypt.o             \
382                   ../../rtllib/rtllib_crypt_tkip.o        \
383                   ../../rtllib/rtllib_crypt_ccmp.o        \
384                   ../../rtllib/rtllib_crypt_wep.o      \
385                   # BT3.0                               \
386                   ../../btlib/bt_aes.o                  \
387                   ../../btlib/bt_rc4.o                  \
388                   ../../btlib/bt_md5c.o                 \
389                   ../../btlib/bt_kmsm_hmac.o            \
390                   ../../btlib/bt_kmsm_prf.o             \
391                   ../../btlib/bt_kmsm_eapolkey.o        \
392                   ../../btlib/bt_hci.o                  \
393                   ../../btlib/bt_handlePacket.o         \
394                   ../../btlib/bt_wifi.o
395 obj-m := r8192ce_pci.o
396 endif
397
398 ifeq ($(NIC_SELECT),RTL8191SE_MESH)
399 r8192se_pci_mesh-objs := rtl_core.o     \
400                   rtl_regd.o            \
401                   rtl_rfkill.o          \
402                   rtl_eeprom.o          \
403                   rtl_ps.o              \
404                   rtl_wx.o              \
405                   rtl_cam.o             \
406                   rtl_dm.o              \
407                   rtl_pm.o              \
408                   rtl_pci.o             \
409                   rtl_debug.o           \
410                   rtl_ethtool.o         \
411                   rtl_mesh.o            \
412                   rtl8192s/r8192S_dev.o \
413                   rtl8192s/r8192S_Efuse.o       \
414                   rtl8192s/r8192S_phy.o         \
415                   rtl8192s/r8192S_firmware.o    \
416                   rtl8192s/r8192S_rtl6052.o     \
417                   rtl8192s/r8192S_hwimg.o       \
418                   rtl8192s/r8192S_led.o         \
419                   rtl8192s/r8192S_mp.o          \
420                   rtl8192s/r8192S_scan.o                \
421                   ../../rtllib/rtllib_rx.o                \
422                   ../../rtllib/rtllib_softmac.o           \
423                   ../../rtllib/rtllib_tx.o                \
424                   ../../rtllib/rtllib_wx.o                \
425                   ../../rtllib/rtllib_module.o            \
426                   ../../rtllib/rtllib_softmac_wx.o        \
427                   ../../rtllib/rtl819x_HTProc.o           \
428                   ../../rtllib/rtl819x_TSProc.o           \
429                   ../../rtllib/rtl819x_BAProc.o           \
430                   ../../rtllib/dot11d.o                   \
431                   ../../rtllib/rtllib_crypt.o             \
432                   ../../rtllib/rtllib_crypt_tkip.o        \
433                   ../../rtllib/rtllib_crypt_ccmp.o        \
434                   ../../rtllib/rtllib_crypt_wep.o         \
435                   ../../mshclass/msh_class.o              \
436                   ../../mshclass/mesh_8192_util.o         \
437                   ../../mshclass/rtl8192_mesh.o           \
438                   ../../mshclass/rtl8192s_sme.o           \
439                   ../../mshclass/rtl8192_proc.o           \
440                   ../../mshclass/8192s_pathsel.o          \
441                   ../../mshclass/hash_table.o             \
442                   ../../mshclass/rtl8192_sha1.o           \
443                   ../../mshclass/rtl8192_sha256.o         \
444                   ../../mshclass/rtl8192_aes.o            \
445                   ../../mshclass/mesh_abbr_handshk.o      \
446                   ../../mshclass/rtl8192_bn_ctx.o         \
447                   ../../mshclass/rtl8192_bn_asm.o         \
448                   ../../mshclass/rtl8192_bn_gcd.o         \
449                   ../../mshclass/rtl8192_bn_mont.o        \
450                   ../../mshclass/rtl8192_bn_recp.o        \
451                   ../../mshclass/rtl8192_bn_lib.o         \
452                   ../../mshclass/mesh_ath.o               \
453                   ../../mshclass/pathselection.o          \
454                   ../../mshclass/tree_proactive.o
455 #                 rtl8192e/r8190P_rtl8256.o     
456 obj-m := r8192se_pci_mesh.o
457 endif
458
459 ifeq ($(NIC_SELECT),RTL8192CE_MESH)
460 r8192ce_pci_mesh-objs := rtl_core.o             \
461                   rtl_eeprom.o          \
462                   rtl_wx.o              \
463                   rtl_cam.o             \
464                   rtl_pm.o              \
465                   rtl_pci.o             \
466                   rtl_ps.o              \
467                   rtl_debug.o           \
468                   rtl_ethtool.o         \
469                   rtl_mesh.o            \
470                   rtl8192c/r8192C_dev.o         \
471                   rtl8192c/r8192C_Efuse.o       \
472                   rtl8192c/r8192C_phy.o         \
473                   rtl8192c/r8192C_firmware.o    \
474                   rtl8192c/r8192C_dm.o          \
475                   rtl8192c/r8192C_rtl6052.o     \
476                   rtl8192c/r8192C_hwimg.o       \
477                   rtl8192c/r8192C_led.o         \
478                   rtl8192c/r8192C_com.o         \
479                   rtl8192c/r8192C_PhyParam.o    \
480                   ../../rtllib/rtllib_rx.o                \
481                   ../../rtllib/rtllib_softmac.o           \
482                   ../../rtllib/rtllib_tx.o                \
483                   ../../rtllib/rtllib_wx.o                \
484                   ../../rtllib/rtllib_module.o            \
485                   ../../rtllib/rtllib_softmac_wx.o        \
486                   ../../rtllib/rtl819x_HTProc.o              \
487                   ../../rtllib/rtl819x_TSProc.o              \
488                   ../../rtllib/rtl819x_BAProc.o              \
489                   ../../rtllib/dot11d.o                      \
490                   ../../rtllib/rtllib_crypt.o             \
491                   ../../rtllib/rtllib_crypt_tkip.o        \
492                   ../../rtllib/rtllib_crypt_ccmp.o        \
493                   ../../rtllib/rtllib_crypt_wep.o      \
494                   ../../mshclass/msh_class.o              \
495                   ../../mshclass/mesh_8192_util.o         \
496                   ../../mshclass/rtl8192_mesh.o           \
497                   ../../mshclass/rtl8192s_sme.o           \
498                   ../../mshclass/rtl8192_proc.o           \
499                   ../../mshclass/8192s_pathsel.o          \
500                   ../../mshclass/hash_table.o             \
501                   ../../mshclass/rtl8192_sha1.o           \
502                   ../../mshclass/rtl8192_sha256.o         \
503                   ../../mshclass/rtl8192_aes.o            \
504                   ../../mshclass/mesh_abbr_handshk.o      \
505                   ../../mshclass/rtl8192_bn_ctx.o         \
506                   ../../mshclass/rtl8192_bn_asm.o         \
507                   ../../mshclass/rtl8192_bn_gcd.o         \
508                   ../../mshclass/rtl8192_bn_mont.o        \
509                   ../../mshclass/rtl8192_bn_recp.o        \
510                   ../../mshclass/rtl8192_bn_lib.o         \
511                   ../../mshclass/mesh_ath.o               \
512                   ../../mshclass/pathselection.o          \
513                   ../../mshclass/tree_proactive.o
514                   
515 obj-m := r8192ce_pci_mesh.o
516 endif
517
518 KSRC := /lib/modules/$(KVER)/build
519 INSTALL_PREFIX :=
520 IMG_DIR := /lib/firmware/
521 all: modules
522
523 modules:
524         $(MAKE) -C $(KSRC) M=$(PWD) CC=$(CC) modules
525 install: modules
526 ifeq ($(NIC_SELECT),RTL8190P)
527         install -p -m 644 r8190_pci.ko $(MODDESTDIR)
528 endif
529 ifeq ($(NIC_SELECT),RTL8192E)
530         install -p -m 644 r8192e_pci.ko $(MODDESTDIR)
531 endif
532 ifeq ($(NIC_SELECT),RTL8192SE)
533         install -p -m 644 r8192se_pci.ko $(MODDESTDIR)
534 endif
535 ifeq ($(NIC_SELECT),RTL8192CE)
536         install -p -m 644 r8192ce_pci.ko $(MODDESTDIR)
537 endif
538 ifeq ($(NIC_SELECT),RTL8191SE_MESH)
539         mkdir /usr/share/enhanced-easy-network -p
540         cp ../../script/mesh-tools /usr/share/enhanced-easy-network/ -rf
541         cp ../../script/mesh.conf /etc/
542         cp ../../script/wpa_mesh_tkip.conf /etc/
543         cp ../../script/wpa_mesh_ccmp.conf /etc/
544         chmod 777 ../../script/do_install
545         ../../script/do_install
546         install -p -m 644 r8192se_pci_mesh.ko $(MODDESTDIR)
547 endif
548 ifeq ($(NIC_SELECT),RTL8192CE_MESH)
549         mkdir /usr/share/enhanced-easy-network -p
550         cp ../../script/mesh-tools /usr/share/enhanced-easy-network/ -rf
551         cp ../../script/mesh.conf /etc/
552         cp ../../script/wpa_mesh_tkip.conf /etc/
553         cp ../../script/wpa_mesh_ccmp.conf /etc/
554         chmod 777 ../../script/do_install
555         ../../script/do_install
556         install -p -m 644 r8192ce_pci_mesh.ko $(MODDESTDIR)
557 endif
558
559         depmod -a
560         @#copy firmware img to target fold
561         $(shell [ -d "$(IMG_DIR)/`uname -r`" ] && cp -fr $(RTL819x_FIRM_DIR)/$(NIC_SELECT) $(IMG_DIR)/`uname -r`/.)
562         $(shell [ ! -d "$(IMG_DIR)/`uname -r`" ] && cp -fr $(RTL819x_FIRM_DIR)/$(NIC_SELECT) $(IMG_DIR)/.)
563 uninstall:
564 ifeq ($(NIC_SELECT),RTL8190P)
565         $(shell [ -d $(MODDESTDIR) ] && rm -f $(MODDESTDIR)/r8190_pci.ko)
566 endif
567 ifeq ($(NIC_SELECT),RTL8192E)
568         $(shell [ -d $(MODDESTDIR) ] && rm -f $(MODDESTDIR)/r8192e_pci.ko)
569 endif
570 ifeq ($(NIC_SELECT),RTL8192SE)
571         $(shell [ -d $(MODDESTDIR) ] && rm -f $(MODDESTDIR)/r8192se_pci.ko)
572 endif
573 ifeq ($(NIC_SELECT),RTL8192CE)
574         $(shell [ -d $(MODDESTDIR) ] && rm -f $(MODDESTDIR)/r8192ce_pci.ko)
575 endif
576 ifeq ($(NIC_SELECT),RTL8191SE_MESH)
577         rm -f /etc/wpa_mesh_tkip.conf
578         rm -f /etc/wpa_mesh_ccmp.conf
579         $(shell [ -d $(MODDESTDIR) ] && rm -f $(MODDESTDIR)/r8192se_pci_mesh.ko)
580 endif
581         depmod -a
582         @#delete the firmware img
583         @rm -fr /lib/firmware/$(NIC_SELECT)
584         @rm -fr /lib/firmware/`uname -r`/$(NIC_SELECT)
585 else
586 ###################### KERNEL 2.4 ################################
587 LD := ld
588 KSRC := /lib/modules/$(KVER)/build
589 CONFIG_FILE := $(KSRC)/include/linux/autoconf.h
590 CFLAGS += -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall
591 CFLAGS += -I$(KSRC)/include -I.
592 CFLAGS += -DMODVERSIONS -DEXPORT_SYMTAB -include $(KSRC)/include/linux/modversions.h
593 #CFLAGS += -D__NO_VERSION__ -DEXPORT_SYMTAB  
594
595 ifeq ($(NIC_SELECT),RTL8190P)
596 sub_folder = rtl8192e
597 CFLAGS += -DRTL8190P
598 CFLAGS+=-DEEPROM_OLD_FORMAT_SUPPORT=1
599 #CFLAGS +=-DCONFIG_RTLWIFI_DEBUGFS
600 endif
601
602 ifeq ($(NIC_SELECT),RTL8192E)
603 sub_folder = rtl8192e
604 CFLAGS += -DRTL8192E
605 CFLAGS+=-DEEPROM_OLD_FORMAT_SUPPORT=1
606 CFLAGS+=-DENABLE_GPIO_RADIO_CTL
607 #CFLAGS += -DENABLE_IPS
608 #CFLAGS += -DENABLE_IPS
609 #CFLAGS +=-DCONFIG_RTLWIFI_DEBUGFS
610 endif
611
612 ifeq ($(NIC_SELECT),RTL8192SE)
613 sub_folder = rtl8192s
614 CFLAGS += -DRTL8192SE
615 CFLAGS += -DEEPROM_OLD_FORMAT_SUPPORT=0 
616 CFLAGS += -DRTL92SE_FPGA_VERIFY=0 
617 CFLAGS += -DDEMO_BOARD_SUPPORT=1 
618 CFLAGS += -DRTL8192SU_DISABLE_CCK_RATE=0 
619 CFLAGS += -DRTL8192S_DISABLE_FW_DM=0 
620 CFLAGS += -DHAL_MAC_ENABLE=1 
621 CFLAGS += -DHAL_BB_ENABLE=1 
622 CFLAGS += -DHAL_RF_ENABLE=1 
623 CFLAGS += -DRTL8192S_PREPARE_FOR_NORMAL_RELEASE=1 
624 CFLAGS += -DDISABLE_BB_RF=0 
625 CFLAGS += -DRTL8190_Download_Firmware_From_Header=1 
626 #CFLAGS += -DRTL8192S_WAPI_SUPPORT=1 
627 #CFLAGS +=-DCONFIG_RTLWIFI_DEBUGFS
628 #CFLAGS += -DCONFIG_PM_RTL 
629 #CFLAGS += -DENABLE_GPIO_RADIO_CTL  
630 #EXTRA_CFLAGS += -DCONFIG_PM
631 #EXTRA_CFLAGS += -DENABLE_IPS
632 #EXTRA_CFLAGS += -DENABLE_LPS
633 #EXTRA_CFLAGS += -DCONFIG_ASPM_OR_D3
634 #CFLAGS += -DENABLE_AMSDU
635 #CFLAGS += -DADHOC_11N
636 endif
637
638 ifeq ($(NIC_SELECT),RTL8191SE_MESH)
639 sub_folder = rtl8192s
640 CFLAGS += -DRTL8192SE
641 CFLAGS +=-DEEPROM_OLD_FORMAT_SUPPORT=1
642 #CFLAGS +=-DCONFIG_RTLWIFI_DEBUGFS
643 CFLAGS += -DEEPROM_OLD_FORMAT_SUPPORT=0 
644 CFLAGS += -DRTL92SE_FPGA_VERIFY=0 
645 CFLAGS += -DDEMO_BOARD_SUPPORT=1 
646 CFLAGS += -DRTL8192SU_DISABLE_CCK_RATE=0 
647 CFLAGS += -DRTL8192S_DISABLE_FW_DM=0 
648 CFLAGS += -DHAL_MAC_ENABLE=1 
649 CFLAGS += -DHAL_BB_ENABLE=1 
650 CFLAGS += -DHAL_RF_ENABLE=1 
651 CFLAGS += -DRTL8192S_PREPARE_FOR_NORMAL_RELEASE=1 
652 CFLAGS += -DDISABLE_BB_RF=0 
653 CFLAGS += -DCONFIG_PM_RTL 
654 CFLAGS += -DENABLE_GPIO_RADIO_CTL  
655 CFLAGS += -DRTL8190_Download_Firmware_From_Header=1 
656 CFLAGS += -DENABLE_IPS
657 CFLAGS += -DENABLE_LPS
658 CFLAGS += -DCONFIG_ASPM_OR_D3
659 CFLAGS += -D_RTL8192_EXT_PATCH_ \
660           -DMESH_8192_SPECIFIED \
661           -D_MESH_DEBUG_ \
662           -DTREE_BASED_ROUTING_ENABLE \
663           -DMESH_PATHSEL_DBG_LV=0 \
664           -DMESH_PATHSEL_DBG_SIMPLE=0 \
665           -DMESH_PATHSEL_DBG_TEST=0\
666           -DBUILT_IN_MSHCLASS \
667           -DCUSTOMER_ID_INTEL_CMPC \
668           -DENABLE_AMSDU
669 endif
670 CFLAGS += -DTHOMAS_TURBO
671 CFLAGS += -DENABLE_DOT11D
672
673 #flag for single module compile
674 CFLAGS += -DBUILT_IN_RTLLIB
675 CFLAGS += -DBUILT_IN_CRYPTO
676 #CFLAGS += -DENABLE_TKIP11N
677
678 SMP := $(shell $(CC) $(CFLAGS) -E -dM $(CONFIG_FILE) | \
679    grep CONFIG_SMP | awk '{print $$3}')
680 ifneq ($(SMP),1)
681    SMP := 0
682 endif
683 ifeq ($(SMP),1)
684    CFLAGS    += -D__SMP__
685 endif
686 OBJS := ${patsubst %.c, %.o, ${wildcard *.c}}
687
688 ifeq ($(NIC_SELECT),RTL8190P)
689 all:r8190_pci.o
690 r8190_pci.o: \
691         rtl_core.o      \
692         rtl_eeprom.o     \
693         rtl_ps.o        \
694         rtl_dm.o \
695         rtl_wx.o \
696         rtl_cam.o        \
697         rtl_pm.o \
698         rtl_pci.o               \
699         rtl_debug.o \
700         rtl_ethtool.o         \
701         rtl8192e/r8190P_rtl8256.o \
702         rtl8192e/r8190P_hwimg.o \
703         rtl8192e/r8192E_dev.o   \
704         rtl8192e/r8192E_cmdpkt.o\
705         rtl8192e/r8192E_firmware.o \
706         rtl8192e/r8192E_phy.o \
707         ../../rtllib/rtllib_rx.o                \
708         ../../rtllib/rtllib_softmac.o           \
709         ../../rtllib/rtllib_tx.o                \
710         ../../rtllib/rtllib_wx.o                \
711         ../../rtllib/rtllib_module.o            \
712         ../../rtllib/rtllib_softmac_wx.o        \
713         ../../rtllib/rtl819x_HTProc.o              \
714         ../../rtllib/rtl819x_TSProc.o              \
715         ../../rtllib/rtl819x_BAProc.o              \
716         ../../rtllib/dot11d.o                      \
717         ../../rtllib/rtllib_crypt.o             \
718         ../../rtllib/rtllib_crypt_tkip.o        \
719         ../../rtllib/rtllib_crypt_ccmp.o        \
720         ../../rtllib/rtllib_crypt_wep.o \
721         ../../rtllib/api.o                      \
722         ../../rtllib/compress.o         \
723         ../../rtllib/digest.o           \
724         ../../rtllib/cipher.o           \
725         ../../rtllib/scatterwalk.o              \
726         ../../rtllib/arc4.o                     \
727         ../../rtllib/michael_mic.o              \
728         ../../rtllib/aes.o                      \
729         ../../rtllib/proc.o
730
731         $(LD) -r $^ -o $@
732 install:r8190_pci.o
733         install -p -m 644 r8190_pci.o  $(MODDESTDIR)
734         @depmod -a
735 uninstall:
736         $(shell [ -d $(MODDESTDIR) ] && rm -f $(MODDESTDIR)/r8190_pci.o)
737         @depmod -a
738 endif
739
740 ifeq ($(NIC_SELECT),RTL8192E)
741 all:r8192e_pci.o
742 r8192e_pci.o: \
743         rtl_core.o \
744         rtl_eeprom.o \
745         rtl_ps.o                \
746         rtl_dm.o \
747         rtl_wx.o \
748         rtl_cam.o       \
749         rtl_pm.o \
750         rtl_pci.o               \
751         rtl_debug.o \
752         rtl_ethtool.o         \
753         rtl8192e/r8192E_dev.o           \
754         rtl8192e/r8190P_rtl8256.o \
755         rtl8192e/r8192E_hwimg.o \
756         rtl8192e/r8192E_cmdpkt.o\
757         rtl8192e/r8192E_firmware.o \
758         rtl8192e/r8192E_phy.o \
759         ../../rtllib/rtllib_rx.o                \
760         ../../rtllib/rtllib_softmac.o           \
761         ../../rtllib/rtllib_tx.o                \
762         ../../rtllib/rtllib_wx.o                \
763         ../../rtllib/rtllib_module.o            \
764         ../../rtllib/rtllib_softmac_wx.o        \
765         ../../rtllib/rtl819x_HTProc.o              \
766         ../../rtllib/rtl819x_TSProc.o              \
767         ../../rtllib/rtl819x_BAProc.o              \
768         ../../rtllib/dot11d.o                      \
769         ../../rtllib/rtllib_crypt.o             \
770         ../../rtllib/rtllib_crypt_tkip.o        \
771         ../../rtllib/rtllib_crypt_ccmp.o        \
772         ../../rtllib/rtllib_crypt_wep.o \
773         ../../rtllib/api.o                      \
774         ../../rtllib/compress.o         \
775         ../../rtllib/digest.o           \
776         ../../rtllib/cipher.o           \
777         ../../rtllib/scatterwalk.o              \
778         ../../rtllib/arc4.o                     \
779         ../../rtllib/michael_mic.o              \
780         ../../rtllib/aes.o                      \
781         ../../rtllib/proc.o
782
783         $(LD) -r $^ -o $@
784 install:
785         install -p -m 644 r8192e_pci.o  $(MODDESTDIR)
786         @depmod -a
787 uninstall:
788         $(shell [ -d $(MODDESTDIR) ] && rm -f $(MODDESTDIR)/r8192e_pci.o)
789         @depmod -a
790 endif
791
792 ifeq ($(NIC_SELECT),RTL8192SE)
793 all:r8192se_pci.o
794 r8192se_pci.o: rtl_core.o \
795         rtl_debug.o \
796         rtl_ethtool.o \
797         rtl_eeprom.o \
798         rtl_ps.o        \
799         rtl_dm.o \
800         rtl_wx.o \
801         rtl_cam.o               \
802         rtl_pm.o \
803         rtl_pci.o               \
804         rtl8192s/r8192S_dev.o \
805         rtl8192s/r8192S_Efuse.o \
806         rtl8192s/r8192S_firmware.o \
807         rtl8192s/r8192S_hwimg.o \
808         rtl8192s/r8192S_led.o \
809         rtl8192s/r8192S_phy.o \
810         rtl8192s/r8192S_rtl6052.o \
811         ../../rtllib/rtllib_rx.o                \
812         ../../rtllib/rtllib_softmac.o           \
813         ../../rtllib/rtllib_tx.o                \
814         ../../rtllib/rtllib_wx.o                \
815         ../../rtllib/rtllib_module.o            \
816         ../../rtllib/rtllib_softmac_wx.o        \
817         ../../rtllib/rtl819x_HTProc.o              \
818         ../../rtllib/rtl819x_TSProc.o              \
819         ../../rtllib/rtl819x_BAProc.o              \
820         ../../rtllib/dot11d.o                      \
821         ../../rtllib/rtllib_crypt.o             \
822         ../../rtllib/rtllib_crypt_tkip.o        \
823         ../../rtllib/rtllib_crypt_ccmp.o        \
824         ../../rtllib/rtllib_crypt_wep.o \
825         ../../rtllib/api.o                      \
826         ../../rtllib/compress.o         \
827         ../../rtllib/digest.o           \
828         ../../rtllib/cipher.o           \
829         ../../rtllib/scatterwalk.o              \
830         ../../rtllib/arc4.o                     \
831         ../../rtllib/michael_mic.o              \
832         ../../rtllib/aes.o                      \
833         ../../rtllib/proc.o                     \
834         ../../rtllib/wapi.o                     \
835         ../../rtllib/wapi_interface.o
836 #       rtl8192e/r8192E_cmdpkt.o 
837 #       rtl8192e/r8190P_rtl8256.o 
838         $(LD) -r $^ -o $@
839 install:r8192se_pci.o
840         install -p -m 644 r8192se_pci.o  $(MODDESTDIR)
841         @depmod -a
842 uninstall:
843         $(shell [ -d $(MODDESTDIR) ] && rm -f $(MODDESTDIR)/r8192se_pci.o)
844         @depmod -a
845 endif
846
847 ifeq ($(NIC_SELECT),RTL8191SE_MESH )
848 all:r8192se_pci_mesh.o
849 r8192se_pci_mesh.o:             \
850         rtl_core.o              \
851         rtl_eeprom.o            \
852         rtl_ps.o                \
853         rtl_dm.o                \
854         rtl_wx.o                \
855         rtl_cam.o               \
856         rtl_pm.o                \
857         rtl_pci.o               \
858         rtl_debug.o             \
859         rtl_ethtool.o           \
860         rtl_mesh.o              \
861         rtl8192s/r8192S_dev.o           \
862         rtl8192s/r8192S_Efuse.o         \
863         rtl8192s/r8192S_firmware.o      \
864         rtl8192s/r8192S_hwimg.o         \
865         rtl8192s/r8192S_led.o           \
866         rtl8192s/r8192S_phy.o           \
867         rtl8192s/r8192S_rtl6052.o       \
868         ../../rtllib/rtllib_rx.o                \
869         ../../rtllib/rtllib_softmac.o           \
870         ../../rtllib/rtllib_tx.o                \
871         ../../rtllib/rtllib_wx.o                \
872         ../../rtllib/rtllib_module.o            \
873         ../../rtllib/rtllib_softmac_wx.o        \
874         ../../rtllib/rtl819x_HTProc.o              \
875         ../../rtllib/rtl819x_TSProc.o              \
876         ../../rtllib/rtl819x_BAProc.o              \
877         ../../rtllib/dot11d.o                      \
878         ../../rtllib/rtllib_crypt.o             \
879         ../../rtllib/rtllib_crypt_tkip.o        \
880         ../../rtllib/rtllib_crypt_ccmp.o        \
881         ../../rtllib/rtllib_crypt_wep.o         \
882         ../../mshclass/msh_class.o                      \
883         ../../mshclass/mesh_8192_util.o                 \
884         ../../mshclass/rtl8192_mesh.o                   \
885         ../../mshclass/rtl8192s_sme.o                   \
886         ../../mshclass/rtl8192_proc.o                   \
887         ../../mshclass/8192s_pathsel.o                  \
888         ../../mshclass/hash_table.o                     \
889         ../../mshclass/pathselection.o                  \
890         ../../mshclass/tree_proactive.o                 \
891         ../../mshclass/hash_table.o                   \
892         ../../mshclass/sha1.o                         \
893         ../../mshclass/sha256.o                       \
894         ../../mshclass/aes.o                          \
895         ../../mshclass/mesh_abbr_handshk.o            \
896         ../../mshclass/bn_ctx.o                       \
897         ../../mshclass/bn_asm.o                       \
898         ../../mshclass/bn_gcd.o                       \
899         ../../mshclass/bn_mont.o                      \
900         ../../mshclass/bn_recp.o                      \
901         ../../mshclass/bn_lib.o                       \
902         ../../mshclass/mesh_ath.o
903 #       rtl8192e/r8190P_rtl8256.o \     
904 #       rtl8192e/r8192E_cmdpkt.o 
905         $(LD) -r $^ -o $@
906 install:r8192se_pci_mesh.o
907         install -p -m 644 r8192se_pci_mesh.o  $(MODDESTDIR)
908         @depmod -a
909 uninstall:
910         $(shell [ -d $(MODDESTDIR) ] && rm -f $(MODDESTDIR)/r8192se_pci_mesh.o)
911         @depmod -a
912 endif
913 endif
914
915 .PHONY:clean
916 clean:
917         rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~
918         rm -fr .tmp_versions
919         rm -fr Modules.symvers
920         rm -fr Module.symvers
921         rm -fr Module.markers
922         rm -fr modules.order
923         rm -fr tags
924         @make -C $(sub_folder)/ clean