1 EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)
5 #EXTRA_CFLAGS += -Wextra
6 #EXTRA_CFLAGS += -Werror
7 #EXTRA_CFLAGS += -pedantic
8 #EXTRA_CFLAGS += -Wshadow -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
10 EXTRA_CFLAGS += -Wno-unused-variable
11 EXTRA_CFLAGS += -Wno-unused-value
12 EXTRA_CFLAGS += -Wno-unused-label
13 EXTRA_CFLAGS += -Wno-unused-parameter
14 EXTRA_CFLAGS += -Wno-unused-function
15 EXTRA_CFLAGS += -Wno-unused
16 #EXTRA_CFLAGS += -Wno-uninitialized
18 GCC_VER_49 := $(shell echo `$(CC) -dumpversion | cut -f1-2 -d.` \>= 4.9 | bc )
19 ifeq ($(GCC_VER_49),1)
20 EXTRA_CFLAGS += -Wno-date-time # Fix compile error && warning on gcc 4.9 and later
23 EXTRA_CFLAGS += -I$(src)/include
24 EXTRA_CFLAGS += -I$(src)/hal/phydm
26 EXTRA_LDFLAGS += --strip-debug
30 ########################## WIFI IC ############################
43 ######################### Interface ###########################
48 ########################## Features ###########################
49 CONFIG_MP_INCLUDED = y
50 CONFIG_POWER_SAVING = y
51 CONFIG_USB_AUTOSUSPEND = n
52 CONFIG_HW_PWRP_DETECTION = n
56 CONFIG_WAPI_SUPPORT = n
57 CONFIG_EFUSE_CONFIG_FILE = y
59 CONFIG_TRAFFIC_PROTECT = y
60 CONFIG_LOAD_PHY_PARA_FROM_FILE = y
61 CONFIG_TXPWR_BY_RATE_EN = n
62 CONFIG_TXPWR_LIMIT_EN = n
63 CONFIG_RTW_ADAPTIVITY_EN = disable
64 CONFIG_RTW_ADAPTIVITY_MODE = normal
65 CONFIG_SIGNAL_SCALE_MAPPING = n
67 CONFIG_REDUCE_TX_CPU_LOADING = n
70 CONFIG_WIFI_MONITOR = n
72 CONFIG_APPEND_VENDOR_IE_ENABLE = n
75 ########################## Debug ###########################
77 # default log level is _DRV_INFO_ = 4,
78 # please refer to "How_to_set_driver_debug_log_level.doc" to set the available level.
79 CONFIG_RTW_LOG_LEVEL = 2
80 ######################## Wake On Lan ##########################
82 CONFIG_GPIO_WAKEUP = n
83 CONFIG_DEFAULT_PATTERNS_EN = n
84 CONFIG_WAKEUP_GPIO_IDX = default
85 CONFIG_HIGH_ACTIVE = n
86 CONFIG_PNO_SUPPORT = n
87 CONFIG_PNO_SET_DEBUG = n
89 ######### Notify SDIO Host Keep Power During Syspend ##########
90 CONFIG_RTW_SDIO_PM_KEEP_POWER = y
91 ###################### MP HW TX MODE FOR VHT #######################
92 CONFIG_MP_VHT_HW_TX_MODE = n
93 ###################### Platform Related #######################
94 CONFIG_PLATFORM_I386_PC = n
95 CONFIG_PLATFORM_ANDROID_X86 = y
96 CONFIG_PLATFORM_ANDROID_INTEL_X86 = n
97 CONFIG_PLATFORM_JB_X86 = n
98 CONFIG_PLATFORM_ARM_S3C2K4 = n
99 CONFIG_PLATFORM_ARM_PXA2XX = n
100 CONFIG_PLATFORM_ARM_S3C6K4 = n
101 CONFIG_PLATFORM_MIPS_RMI = n
102 CONFIG_PLATFORM_RTD2880B = n
103 CONFIG_PLATFORM_MIPS_AR9132 = n
104 CONFIG_PLATFORM_RTK_DMP = n
105 CONFIG_PLATFORM_MIPS_PLM = n
106 CONFIG_PLATFORM_MSTAR389 = n
107 CONFIG_PLATFORM_MT53XX = n
108 CONFIG_PLATFORM_ARM_MX51_241H = n
109 CONFIG_PLATFORM_FS_MX61 = n
110 CONFIG_PLATFORM_ACTIONS_ATJ227X = n
111 CONFIG_PLATFORM_TEGRA3_CARDHU = n
112 CONFIG_PLATFORM_TEGRA4_DALMORE = n
113 CONFIG_PLATFORM_ARM_TCC8900 = n
114 CONFIG_PLATFORM_ARM_TCC8920 = n
115 CONFIG_PLATFORM_ARM_TCC8920_JB42 = n
116 CONFIG_PLATFORM_ARM_TCC8930_JB42 = n
117 CONFIG_PLATFORM_ARM_RK2818 = n
118 CONFIG_PLATFORM_ARM_RK3066 = n
119 CONFIG_PLATFORM_ARM_RK3188 = n
120 CONFIG_PLATFORM_ARM_URBETTER = n
121 CONFIG_PLATFORM_ARM_TI_PANDA = n
122 CONFIG_PLATFORM_MIPS_JZ4760 = n
123 CONFIG_PLATFORM_DMP_PHILIPS = n
124 CONFIG_PLATFORM_MSTAR_TITANIA12 = n
125 CONFIG_PLATFORM_MSTAR = n
126 CONFIG_PLATFORM_SZEBOOK = n
127 CONFIG_PLATFORM_ARM_SUNxI = n
128 CONFIG_PLATFORM_ARM_SUN6I = n
129 CONFIG_PLATFORM_ARM_SUN7I = n
130 CONFIG_PLATFORM_ARM_SUN8I_W3P1 = n
131 CONFIG_PLATFORM_ARM_SUN8I_W5P1 = n
132 CONFIG_PLATFORM_ACTIONS_ATM702X = n
133 CONFIG_PLATFORM_ACTIONS_ATV5201 = n
134 CONFIG_PLATFORM_ACTIONS_ATM705X = n
135 CONFIG_PLATFORM_ARM_SUN50IW1P1 = n
136 CONFIG_PLATFORM_ARM_RTD299X = n
137 CONFIG_PLATFORM_ARM_SPREADTRUM_6820 = n
138 CONFIG_PLATFORM_ARM_SPREADTRUM_8810 = n
139 CONFIG_PLATFORM_ARM_WMT = n
140 CONFIG_PLATFORM_TI_DM365 = n
141 CONFIG_PLATFORM_MOZART = n
142 CONFIG_PLATFORM_RTK119X = n
143 CONFIG_PLATFORM_RTK129X = n
144 CONFIG_PLATFORM_NOVATEK_NT72668 = n
145 CONFIG_PLATFORM_HISILICON = n
146 CONFIG_PLATFORM_NV_TK1 = n
147 ###############################################################
149 CONFIG_DRVEXT_MODULE = n
151 export TopDIR ?= $(shell pwd)
153 ########### COMMON #################################
154 ifeq ($(CONFIG_GSPI_HCI), y)
158 ifeq ($(CONFIG_SDIO_HCI), y)
162 ifeq ($(CONFIG_USB_HCI), y)
166 ifeq ($(CONFIG_PCI_HCI), y)
171 _OS_INTFS_FILES := os_dep/osdep_service.o \
172 os_dep/linux/os_intfs.o \
173 os_dep/linux/$(HCI_NAME)_intf.o \
174 os_dep/linux/$(HCI_NAME)_ops_linux.o \
175 os_dep/linux/ioctl_linux.o \
176 os_dep/linux/xmit_linux.o \
177 os_dep/linux/mlme_linux.o \
178 os_dep/linux/recv_linux.o \
179 os_dep/linux/ioctl_cfg80211.o \
180 os_dep/linux/rtw_cfgvendor.o \
181 os_dep/linux/wifi_regd.o \
182 os_dep/linux/rtw_android.o \
183 os_dep/linux/rtw_proc.o
185 ifeq ($(CONFIG_MP_INCLUDED), y)
186 _OS_INTFS_FILES += os_dep/linux/ioctl_mp.o
189 ifeq ($(CONFIG_SDIO_HCI), y)
190 _OS_INTFS_FILES += os_dep/linux/custom_gpio_linux.o
191 _OS_INTFS_FILES += os_dep/linux/$(HCI_NAME)_ops_linux.o
194 ifeq ($(CONFIG_GSPI_HCI), y)
195 _OS_INTFS_FILES += os_dep/linux/custom_gpio_linux.o
196 _OS_INTFS_FILES += os_dep/linux/$(HCI_NAME)_ops_linux.o
200 _HAL_INTFS_FILES := hal/hal_intf.o \
202 hal/hal_com_phycfg.o \
205 hal/hal_btcoex_wifionly.o \
209 hal/hal_hci/hal_$(HCI_NAME).o \
210 hal/led/hal_$(HCI_NAME)_led.o
213 _OUTSRC_FILES := hal/phydm/phydm_debug.o \
214 hal/phydm/phydm_antdiv.o\
215 hal/phydm/phydm_antdect.o\
216 hal/phydm/phydm_interface.o\
217 hal/phydm/phydm_hwconfig.o\
219 hal/phydm/halphyrf_ce.o\
220 hal/phydm/phydm_edcaturbocheck.o\
221 hal/phydm/phydm_dig.o\
222 hal/phydm/phydm_pathdiv.o\
223 hal/phydm/phydm_rainfo.o\
224 hal/phydm/phydm_dynamicbbpowersaving.o\
225 hal/phydm/phydm_powertracking_ce.o\
226 hal/phydm/phydm_dynamictxpower.o\
227 hal/phydm/phydm_adaptivity.o\
228 hal/phydm/phydm_cfotracking.o\
229 hal/phydm/phydm_noisemonitor.o\
230 hal/phydm/phydm_acs.o\
231 hal/phydm/phydm_beamforming.o\
232 hal/phydm/phydm_dfs.o\
233 hal/phydm/txbf/halcomtxbf.o\
234 hal/phydm/txbf/haltxbfinterface.o\
235 hal/phydm/txbf/phydm_hal_txbf_api.o\
236 hal/phydm/phydm_adc_sampling.o\
237 hal/phydm/phydm_kfree.o\
238 hal/phydm/phydm_ccx.o\
239 hal/phydm/phydm_psd.o
241 EXTRA_CFLAGS += -I$(src)/platform
242 _PLATFORM_FILES := platform/platform_ops.o
244 EXTRA_CFLAGS += -I$(src)/hal/btc
245 _OUTSRC_FILES += hal/btc/halbtc8723bwifionly.o \
246 hal/btc/halbtc8822bwifionly.o \
247 hal/btc/halbtc8821cwifionly.o
248 ifeq ($(CONFIG_BT_COEXIST), y)
249 _OUTSRC_FILES += hal/btc/halbtc8192e1ant.o \
250 hal/btc/halbtc8192e2ant.o \
251 hal/btc/halbtc8723b1ant.o \
252 hal/btc/halbtc8723b2ant.o \
253 hal/btc/halbtc8812a1ant.o \
254 hal/btc/halbtc8812a2ant.o \
255 hal/btc/halbtc8821a1ant.o \
256 hal/btc/halbtc8821a2ant.o \
257 hal/btc/halbtc8703b1ant.o \
258 hal/btc/halbtc8723d1ant.o \
259 hal/btc/halbtc8723d2ant.o \
260 hal/btc/halbtc8822b1ant.o \
261 hal/btc/halbtc8822b2ant.o \
262 hal/btc/halbtc8821c1ant.o \
263 hal/btc/halbtc8821c2ant.o
267 ########### HAL_RTL8812A_RTL8821A #################################
269 ifneq ($(CONFIG_RTL8812A)_$(CONFIG_RTL8821A), n_n)
272 ifeq ($(CONFIG_USB_HCI), y)
275 ifeq ($(CONFIG_PCI_HCI), y)
278 ifeq ($(CONFIG_SDIO_HCI), y)
282 _HAL_INTFS_FILES += hal/HalPwrSeqCmd.o \
283 hal/$(RTL871X)/Hal8812PwrSeq.o \
284 hal/$(RTL871X)/Hal8821APwrSeq.o\
285 hal/$(RTL871X)/$(RTL871X)_xmit.o\
286 hal/$(RTL871X)/$(RTL871X)_sreset.o
288 _HAL_INTFS_FILES += hal/$(RTL871X)/$(RTL871X)_hal_init.o \
289 hal/$(RTL871X)/$(RTL871X)_phycfg.o \
290 hal/$(RTL871X)/$(RTL871X)_rf6052.o \
291 hal/$(RTL871X)/$(RTL871X)_dm.o \
292 hal/$(RTL871X)/$(RTL871X)_rxdesc.o \
293 hal/$(RTL871X)/$(RTL871X)_cmd.o \
294 hal/$(RTL871X)/$(HCI_NAME)/$(HCI_NAME)_halinit.o \
295 hal/$(RTL871X)/$(HCI_NAME)/rtl$(MODULE_NAME)_led.o \
296 hal/$(RTL871X)/$(HCI_NAME)/rtl$(MODULE_NAME)_xmit.o \
297 hal/$(RTL871X)/$(HCI_NAME)/rtl$(MODULE_NAME)_recv.o
299 ifeq ($(CONFIG_SDIO_HCI), y)
300 _HAL_INTFS_FILES += hal/$(RTL871X)/$(HCI_NAME)/$(HCI_NAME)_ops.o
302 ifeq ($(CONFIG_GSPI_HCI), y)
303 _HAL_INTFS_FILES += hal/$(RTL871X)/$(HCI_NAME)/$(HCI_NAME)_ops.o
305 _HAL_INTFS_FILES += hal/$(RTL871X)/$(HCI_NAME)/$(HCI_NAME)_ops_linux.o
309 ifeq ($(CONFIG_RTL8812A), y)
310 ifeq ($(CONFIG_USB_HCI), y)
311 _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8812A_USB.o
313 ifeq ($(CONFIG_PCI_HCI), y)
314 _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8812A_PCIE.o
317 ifeq ($(CONFIG_RTL8821A), y)
318 ifeq ($(CONFIG_USB_HCI), y)
319 _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8821A_USB.o
321 ifeq ($(CONFIG_PCI_HCI), y)
322 _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8821A_PCIE.o
324 ifeq ($(CONFIG_SDIO_HCI), y)
325 _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8821A_SDIO.o
329 ifeq ($(CONFIG_RTL8812A), y)
330 EXTRA_CFLAGS += -DCONFIG_RTL8812A
331 _HAL_INTFS_FILES += hal/rtl8812a/hal8812a_fw.o
333 _OUTSRC_FILES += hal/phydm/$(RTL871X)/halhwimg8812a_mac.o\
334 hal/phydm/$(RTL871X)/halhwimg8812a_bb.o\
335 hal/phydm/$(RTL871X)/halhwimg8812a_rf.o\
336 hal/phydm/$(RTL871X)/halphyrf_8812a_ce.o\
337 hal/phydm/$(RTL871X)/phydm_regconfig8812a.o\
338 hal/phydm/$(RTL871X)/phydm_rtl8812a.o\
339 hal/phydm/txbf/haltxbfjaguar.o
342 ifeq ($(CONFIG_RTL8821A), y)
344 ifeq ($(CONFIG_RTL8812A), n)
347 ifeq ($(CONFIG_USB_HCI), y)
348 ifeq ($(CONFIG_BT_COEXIST), y)
349 MODULE_NAME := 8812au
351 MODULE_NAME := 8811au
354 ifeq ($(CONFIG_PCI_HCI), y)
355 MODULE_NAME := 8821ae
357 ifeq ($(CONFIG_SDIO_HCI), y)
358 MODULE_NAME := 8821as
363 EXTRA_CFLAGS += -DCONFIG_RTL8821A
365 _HAL_INTFS_FILES += hal/rtl8812a/hal8821a_fw.o
366 _OUTSRC_FILES += hal/phydm/rtl8821a/halhwimg8821a_mac.o\
367 hal/phydm/rtl8821a/halhwimg8821a_bb.o\
368 hal/phydm/rtl8821a/halhwimg8821a_rf.o\
369 hal/phydm/rtl8812a/halphyrf_8812a_ce.o\
370 hal/phydm/rtl8821a/halphyrf_8821a_ce.o\
371 hal/phydm/rtl8821a/phydm_regconfig8821a.o\
372 hal/phydm/rtl8821a/phydm_rtl8821a.o\
373 hal/phydm/rtl8821a/phydm_iqk_8821a_ce.o\
374 hal/phydm/txbf/haltxbfjaguar.o
380 ########### END OF PATH #################################
382 ifeq ($(CONFIG_USB_HCI), y)
383 ifeq ($(CONFIG_USB_AUTOSUSPEND), y)
384 EXTRA_CFLAGS += -DCONFIG_USB_AUTOSUSPEND
388 ifeq ($(CONFIG_MP_INCLUDED), y)
389 #MODULE_NAME := $(MODULE_NAME)_mp
390 EXTRA_CFLAGS += -DCONFIG_MP_INCLUDED
393 ifeq ($(CONFIG_POWER_SAVING), y)
394 EXTRA_CFLAGS += -DCONFIG_POWER_SAVING
397 ifeq ($(CONFIG_HW_PWRP_DETECTION), y)
398 EXTRA_CFLAGS += -DCONFIG_HW_PWRP_DETECTION
401 ifeq ($(CONFIG_WIFI_TEST), y)
402 EXTRA_CFLAGS += -DCONFIG_WIFI_TEST
405 ifeq ($(CONFIG_BT_COEXIST), y)
406 EXTRA_CFLAGS += -DCONFIG_BT_COEXIST
409 ifeq ($(CONFIG_INTEL_WIDI), y)
410 EXTRA_CFLAGS += -DCONFIG_INTEL_WIDI
413 ifeq ($(CONFIG_WAPI_SUPPORT), y)
414 EXTRA_CFLAGS += -DCONFIG_WAPI_SUPPORT
418 ifeq ($(CONFIG_EFUSE_CONFIG_FILE), y)
419 EXTRA_CFLAGS += -DCONFIG_EFUSE_CONFIG_FILE
422 USER_EFUSE_MAP_PATH ?=
423 ifneq ($(USER_EFUSE_MAP_PATH),)
424 EXTRA_CFLAGS += -DEFUSE_MAP_PATH=\"$(USER_EFUSE_MAP_PATH)\"
425 else ifeq ($(MODULE_NAME), 8189es)
426 EXTRA_CFLAGS += -DEFUSE_MAP_PATH=\"/system/etc/wifi/wifi_efuse_8189e.map\"
427 else ifeq ($(MODULE_NAME), 8723bs)
428 EXTRA_CFLAGS += -DEFUSE_MAP_PATH=\"/system/etc/wifi/wifi_efuse_8723bs.map\"
430 EXTRA_CFLAGS += -DEFUSE_MAP_PATH=\"/system/etc/wifi/wifi_efuse_$(MODULE_NAME).map\"
435 ifneq ($(USER_WIFIMAC_PATH),)
436 EXTRA_CFLAGS += -DWIFIMAC_PATH=\"$(USER_WIFIMAC_PATH)\"
438 EXTRA_CFLAGS += -DWIFIMAC_PATH=\"/data/wifimac.txt\"
443 ifeq ($(CONFIG_EXT_CLK), y)
444 EXTRA_CFLAGS += -DCONFIG_EXT_CLK
447 ifeq ($(CONFIG_TRAFFIC_PROTECT), y)
448 EXTRA_CFLAGS += -DCONFIG_TRAFFIC_PROTECT
451 ifeq ($(CONFIG_LOAD_PHY_PARA_FROM_FILE), y)
452 EXTRA_CFLAGS += -DCONFIG_LOAD_PHY_PARA_FROM_FILE
453 #EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH_WITH_IC_NAME_FOLDER
454 #EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH=\"/lib/firmware/\"
455 EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH=\"\"
458 ifeq ($(CONFIG_TXPWR_BY_RATE_EN), n)
459 EXTRA_CFLAGS += -DCONFIG_TXPWR_BY_RATE_EN=0
460 else ifeq ($(CONFIG_TXPWR_BY_RATE_EN), y)
461 EXTRA_CFLAGS += -DCONFIG_TXPWR_BY_RATE_EN=1
462 else ifeq ($(CONFIG_TXPWR_BY_RATE_EN), auto)
463 EXTRA_CFLAGS += -DCONFIG_TXPWR_BY_RATE_EN=2
466 ifeq ($(CONFIG_TXPWR_LIMIT_EN), n)
467 EXTRA_CFLAGS += -DCONFIG_TXPWR_LIMIT_EN=0
468 else ifeq ($(CONFIG_TXPWR_LIMIT_EN), y)
469 EXTRA_CFLAGS += -DCONFIG_TXPWR_LIMIT_EN=1
470 else ifeq ($(CONFIG_TXPWR_LIMIT_EN), auto)
471 EXTRA_CFLAGS += -DCONFIG_TXPWR_LIMIT_EN=2
474 ifeq ($(CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY), y)
475 EXTRA_CFLAGS += -DCONFIG_CALIBRATE_TX_POWER_BY_REGULATORY
478 ifeq ($(CONFIG_CALIBRATE_TX_POWER_TO_MAX), y)
479 EXTRA_CFLAGS += -DCONFIG_CALIBRATE_TX_POWER_TO_MAX
482 ifeq ($(CONFIG_RTW_ADAPTIVITY_EN), disable)
483 EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_EN=0
484 else ifeq ($(CONFIG_RTW_ADAPTIVITY_EN), enable)
485 EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_EN=1
488 ifeq ($(CONFIG_RTW_ADAPTIVITY_MODE), normal)
489 EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_MODE=0
490 else ifeq ($(CONFIG_RTW_ADAPTIVITY_MODE), carrier_sense)
491 EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_MODE=1
494 ifeq ($(CONFIG_SIGNAL_SCALE_MAPPING), y)
495 EXTRA_CFLAGS += -DCONFIG_SIGNAL_SCALE_MAPPING
498 ifeq ($(CONFIG_80211W), y)
499 EXTRA_CFLAGS += -DCONFIG_IEEE80211W
502 ifeq ($(CONFIG_WOWLAN), y)
503 EXTRA_CFLAGS += -DCONFIG_WOWLAN
504 ifeq ($(CONFIG_SDIO_HCI), y)
505 EXTRA_CFLAGS += -DCONFIG_RTW_SDIO_PM_KEEP_POWER
507 ifeq ($(CONFIG_DEFAULT_PATTERNS_EN), y)
508 EXTRA_CFLAGS += -DCONFIG_DEFAULT_PATTERNS_EN
512 ifeq ($(CONFIG_AP_WOWLAN), y)
513 EXTRA_CFLAGS += -DCONFIG_AP_WOWLAN
514 ifeq ($(CONFIG_SDIO_HCI), y)
515 EXTRA_CFLAGS += -DCONFIG_RTW_SDIO_PM_KEEP_POWER
519 ifeq ($(CONFIG_PNO_SUPPORT), y)
520 EXTRA_CFLAGS += -DCONFIG_PNO_SUPPORT
521 ifeq ($(CONFIG_PNO_SET_DEBUG), y)
522 EXTRA_CFLAGS += -DCONFIG_PNO_SET_DEBUG
526 ifeq ($(CONFIG_GPIO_WAKEUP), y)
527 EXTRA_CFLAGS += -DCONFIG_GPIO_WAKEUP
528 ifeq ($(CONFIG_HIGH_ACTIVE), y)
529 EXTRA_CFLAGS += -DHIGH_ACTIVE=1
531 EXTRA_CFLAGS += -DHIGH_ACTIVE=0
535 ifneq ($(CONFIG_WAKEUP_GPIO_IDX), default)
536 EXTRA_CFLAGS += -DWAKEUP_GPIO_IDX=$(CONFIG_WAKEUP_GPIO_IDX)
539 ifeq ($(CONFIG_RTW_SDIO_PM_KEEP_POWER), y)
540 ifeq ($(CONFIG_SDIO_HCI), y)
541 EXTRA_CFLAGS += -DCONFIG_RTW_SDIO_PM_KEEP_POWER
545 ifeq ($(CONFIG_REDUCE_TX_CPU_LOADING), y)
546 EXTRA_CFLAGS += -DCONFIG_REDUCE_TX_CPU_LOADING
549 ifeq ($(CONFIG_BR_EXT), y)
551 EXTRA_CFLAGS += -DCONFIG_BR_EXT
552 EXTRA_CFLAGS += '-DCONFIG_BR_EXT_BRNAME="'$(BR_NAME)'"'
556 ifeq ($(CONFIG_TDLS), y)
557 EXTRA_CFLAGS += -DCONFIG_TDLS
560 ifeq ($(CONFIG_WIFI_MONITOR), y)
561 EXTRA_CFLAGS += -DCONFIG_WIFI_MONITOR
564 ifeq ($(CONFIG_MCC_MODE), y)
565 EXTRA_CFLAGS += -DCONFIG_MCC_MODE
568 ifeq ($(CONFIG_RTW_NAPI), y)
569 EXTRA_CFLAGS += -DCONFIG_RTW_NAPI
572 ifeq ($(CONFIG_RTW_GRO), y)
573 EXTRA_CFLAGS += -DCONFIG_RTW_GRO
576 ifeq ($(CONFIG_MP_VHT_HW_TX_MODE), y)
577 EXTRA_CFLAGS += -DCONFIG_MP_VHT_HW_TX_MODE
578 ifeq ($(CONFIG_PLATFORM_I386_PC), y)
579 ## For I386 X86 ToolChain use Hardware FLOATING
580 EXTRA_CFLAGS += -mhard-float
582 ## For ARM ToolChain use Hardware FLOATING
583 EXTRA_CFLAGS += -mfloat-abi=hard
587 ifeq ($(CONFIG_APPEND_VENDOR_IE_ENABLE), y)
588 EXTRA_CFLAGS += -DCONFIG_APPEND_VENDOR_IE_ENABLE
591 ifeq ($(CONFIG_RTW_DEBUG), y)
592 EXTRA_CFLAGS += -DCONFIG_RTW_DEBUG
593 EXTRA_CFLAGS += -DRTW_LOG_LEVEL=$(CONFIG_RTW_LOG_LEVEL)
596 EXTRA_CFLAGS += -DDM_ODM_SUPPORT_TYPE=0x04
598 ifeq ($(CONFIG_PLATFORM_ANDROID_X86), y)
599 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ANDROID
600 EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
601 EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
602 EXTRA_CFLAGS += -DRTW_P2P_GROUP_INTERFACE=1
603 SUBARCH := $(shell uname -m | sed -e s/i.86/i386/)
607 ifeq ($(CONFIG_PLATFORM_ANDROID_INTEL_X86), y)
608 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ANDROID_INTEL_X86
609 EXTRA_CFLAGS += -DCONFIG_PLATFORM_INTEL_BYT
610 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ANDROID
611 EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
612 EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
613 EXTRA_CFLAGS += -DCONFIG_SKIP_SIGNAL_SCALE_MAPPING
614 ifeq ($(CONFIG_SDIO_HCI), y)
615 EXTRA_CFLAGS += -DCONFIG_RESUME_IN_WORKQUEUE
619 ifeq ($(CONFIG_PLATFORM_JB_X86), y)
620 EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
621 EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
622 SUBARCH := $(shell uname -m | sed -e s/i.86/i386/)
624 CROSS_COMPILE := /home/android_sdk/android-x86_JB/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7/bin/i686-linux-android-
625 KSRC := /home/android_sdk/android-x86_JB/out/target/product/x86/obj/kernel/
630 ifeq ($(CONFIG_MULTIDRV), y)
632 ifeq ($(CONFIG_SDIO_HCI), y)
633 MODULE_NAME := rtw_sdio
636 ifeq ($(CONFIG_USB_HCI), y)
637 MODULE_NAME := rtw_usb
640 ifeq ($(CONFIG_PCI_HCI), y)
641 MODULE_NAME := rtw_pci
648 ifneq ($(USER_MODULE_NAME),)
649 MODULE_NAME := $(USER_MODULE_NAME)
652 ifneq ($(KERNELRELEASE),)
654 rtk_core := core/rtw_cmd.o \
655 core/rtw_security.o \
658 core/rtw_ioctl_query.o \
659 core/rtw_ioctl_set.o \
660 core/rtw_ieee80211.o \
662 core/rtw_mlme_ext.o \
664 core/rtw_wlan_util.o \
677 core/rtw_btcoex_wifionly.o \
679 core/rtw_beamforming.o \
681 core/efuse/rtw_efuse.o
683 ifeq ($(CONFIG_SDIO_HCI), y)
684 rtk_core += core/rtw_sdio.o
687 $(MODULE_NAME)-y += $(rtk_core)
689 $(MODULE_NAME)-$(CONFIG_INTEL_WIDI) += core/rtw_intel_widi.o
691 $(MODULE_NAME)-$(CONFIG_WAPI_SUPPORT) += core/rtw_wapi.o \
694 $(MODULE_NAME)-y += $(_OS_INTFS_FILES)
695 $(MODULE_NAME)-y += $(_HAL_INTFS_FILES)
696 $(MODULE_NAME)-y += $(_OUTSRC_FILES)
697 $(MODULE_NAME)-y += $(_PLATFORM_FILES)
699 $(MODULE_NAME)-$(CONFIG_MP_INCLUDED) += core/rtw_mp.o
701 ifeq ($(CONFIG_RTL8723B), y)
702 $(MODULE_NAME)-$(CONFIG_MP_INCLUDED)+= core/rtw_bt_mp.o
705 obj-m := $(MODULE_NAME).o
709 export CONFIG_RTL8821AU = m
714 $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KSRC) M=$(shell pwd) modules
717 $(CROSS_COMPILE)strip $(MODULE_NAME).ko --strip-unneeded
720 install -p -m 644 *.ko $(MODDESTDIR)
721 /sbin/depmod -a ${KVER}
724 rm -f $(MODDESTDIR)/$(MODULE_NAME).ko
725 /sbin/depmod -a ${KVER}
729 /bin/bash script/Configure script/config.in
732 .PHONY: modules clean
735 #$(MAKE) -C $(KSRC) M=$(shell pwd) clean
736 cd hal ; rm -fr */*/*/*.mod.c */*/*/*.mod */*/*/*.o */*/*/.*.cmd */*/*/*.ko
737 cd hal ; rm -fr */*/*.mod.c */*/*.mod */*/*.o */*/.*.cmd */*/*.ko
738 cd hal ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko
739 cd hal ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
740 cd core/efuse ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
741 cd core ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
742 cd os_dep/linux ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
743 cd os_dep ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
744 cd platform ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
745 rm -fr Module.symvers ; rm -fr Module.markers ; rm -fr modules.order
746 rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~