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
17 EXTRA_CFLAGS += -Wno-uninitialized
19 EXTRA_CFLAGS += -I$(src)/include
33 CONFIG_POWER_SAVING = y
34 CONFIG_USB_AUTOSUSPEND = n
35 CONFIG_HW_PWRP_DETECTION = n
38 CONFIG_RTL8192CU_REDEFINE_1X1 = n
40 CONFIG_WAPI_SUPPORT = n
41 CONFIG_EFUSE_CONFIG_FILE = n
43 CONFIG_FTP_PROTECT = n
46 CONFIG_PLATFORM_I386_PC = y
47 CONFIG_PLATFORM_ANDROID_X86 = n
48 CONFIG_PLATFORM_ARM_S3C2K4 = n
49 CONFIG_PLATFORM_ARM_PXA2XX = n
50 CONFIG_PLATFORM_ARM_S3C6K4 = n
51 CONFIG_PLATFORM_MIPS_RMI = n
52 CONFIG_PLATFORM_RTD2880B = n
53 CONFIG_PLATFORM_MIPS_AR9132 = n
54 CONFIG_PLATFORM_RTK_DMP = n
55 CONFIG_PLATFORM_MIPS_PLM = n
56 CONFIG_PLATFORM_MSTAR389 = n
57 CONFIG_PLATFORM_MT53XX = n
58 CONFIG_PLATFORM_ARM_MX51_241H = n
59 CONFIG_PLATFORM_ACTIONS_ATJ227X = n
60 CONFIG_PLATFORM_TEGRA3_CARDHU = n
61 CONFIG_PLATFORM_TEGRA4_DALMORE = n
62 CONFIG_PLATFORM_ARM_TCC8900 = n
63 CONFIG_PLATFORM_ARM_TCC8920 = n
64 CONFIG_PLATFORM_ARM_RK2818 = n
65 CONFIG_PLATFORM_ARM_URBETTER = n
66 CONFIG_PLATFORM_ARM_TI_PANDA = n
67 CONFIG_PLATFORM_MIPS_JZ4760 = n
68 CONFIG_PLATFORM_DMP_PHILIPS = n
69 CONFIG_PLATFORM_TI_DM365 = n
70 CONFIG_PLATFORM_MSTAR_TITANIA12 = n
71 CONFIG_PLATFORM_SZEBOOK = n
72 CONFIG_PLATFORM_ARM_SUNxI = n
73 CONFIG_PLATFORM_ARM_SUN6I = n
74 CONFIG_PLATFORM_ACTIONS_ATM702X = n
75 CONFIG_PLATFORM_MN10300 = n
76 CONFIG_PLATFORM_ACTIONS_ATV5201 = n
78 CONFIG_DRVEXT_MODULE = n
80 export TopDIR ?= $(shell pwd)
83 OUTSRC_FILES := hal/odm_debug.o \
89 ifeq ($(CONFIG_RTL8723A), y)
93 HAL_COMM_FILES := hal/$(RTL871X)_xmit.o \
94 hal/$(RTL871X)_sreset.o
97 OUTSRC_FILES += hal/Hal8723UHWImg_CE.o
99 #hal/HalHWImg8723A_FW.o
100 OUTSRC_FILES += hal/HalHWImg8723A_BB.o\
101 hal/HalHWImg8723A_MAC.o\
102 hal/HalHWImg8723A_RF.o\
103 hal/HalDMOutSrc8192C_CE.o\
104 hal/odm_RegConfig8723A.o
107 clean_more += clean_odm-8192c
109 PWRSEQ_FILES := hal/HalPwrSeqCmd.o \
112 CHIP_FILES += $(HAL_COMM_FILES) $(OUTSRC_FILES) $(PWRSEQ_FILES)
114 ifeq ($(CONFIG_BT_COEXIST), y)
115 CHIP_FILES += hal/rtl8723a_bt-coexist.o
120 _OS_INTFS_FILES := os_dep/osdep_service.o \
122 os_dep/$(HCI_NAME)_intf.o \
123 os_dep/$(HCI_NAME)_ops_linux.o \
124 os_dep/ioctl_linux.o \
125 os_dep/xmit_linux.o \
126 os_dep/mlme_linux.o \
127 os_dep/recv_linux.o \
128 os_dep/ioctl_cfg80211.o
130 _HAL_INTFS_FILES := hal/hal_intf.o \
132 hal/$(RTL871X)_hal_init.o \
133 hal/$(RTL871X)_phycfg.o \
134 hal/$(RTL871X)_rf6052.o \
135 hal/$(RTL871X)_dm.o \
136 hal/$(RTL871X)_rxdesc.o \
137 hal/$(RTL871X)_cmd.o \
138 hal/$(HCI_NAME)_halinit.o \
139 hal/rtl$(MODULE_NAME)_led.o \
140 hal/rtl$(MODULE_NAME)_xmit.o \
141 hal/rtl$(MODULE_NAME)_recv.o
143 _HAL_INTFS_FILES += hal/$(HCI_NAME)_ops_linux.o
146 _HAL_INTFS_FILES += $(CHIP_FILES)
149 ifeq ($(CONFIG_USB_HCI), y)
150 ifeq ($(CONFIG_USB_AUTOSUSPEND), y)
151 EXTRA_CFLAGS += -DCONFIG_USB_AUTOSUSPEND
155 ifeq ($(CONFIG_POWER_SAVING), y)
156 EXTRA_CFLAGS += -DCONFIG_POWER_SAVING
159 ifeq ($(CONFIG_HW_PWRP_DETECTION), y)
160 EXTRA_CFLAGS += -DCONFIG_HW_PWRP_DETECTION
163 ifeq ($(CONFIG_WIFI_TEST), y)
164 EXTRA_CFLAGS += -DCONFIG_WIFI_TEST
167 ifeq ($(CONFIG_BT_COEXIST), y)
168 EXTRA_CFLAGS += -DCONFIG_BT_COEXIST
171 ifeq ($(CONFIG_RTL8192CU_REDEFINE_1X1), y)
172 EXTRA_CFLAGS += -DRTL8192C_RECONFIG_TO_1T1R
175 ifeq ($(CONFIG_INTEL_WIDI), y)
176 EXTRA_CFLAGS += -DCONFIG_INTEL_WIDI
179 ifeq ($(CONFIG_WAPI_SUPPORT), y)
180 EXTRA_CFLAGS += -DCONFIG_WAPI_SUPPORT
183 ifeq ($(CONFIG_EFUSE_CONFIG_FILE), y)
184 EXTRA_CFLAGS += -DCONFIG_EFUSE_CONFIG_FILE
187 ifeq ($(CONFIG_EXT_CLK), y)
188 EXTRA_CFLAGS += -DCONFIG_EXT_CLK
191 ifeq ($(CONFIG_FTP_PROTECT), y)
192 EXTRA_CFLAGS += -DCONFIG_FTP_PROTECT
195 ifeq ($(CONFIG_RTL8188E), y)
196 ifeq ($(CONFIG_WOWLAN), y)
197 EXTRA_CFLAGS += -DCONFIG_WOWLAN
201 ifeq ($(CONFIG_RTL8188E), y)
202 ifeq ($(CONFIG_EFUSE_CONFIG_FILE), y)
203 EXTRA_CFLAGS += -DCONFIG_RF_GAIN_OFFSET
207 ifeq ($(CONFIG_PLATFORM_I386_PC), y)
208 SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ | sed -e s/ppc/powerpc/)
211 KVER := $(shell uname -r)
212 KSRC := /lib/modules/$(KVER)/build
213 MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
217 ifeq ($(CONFIG_PLATFORM_ACTIONS_ATM702X), y)
218 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ANDROID -DCONFIG_PLATFORM_ACTIONS_ATM702X
221 #CROSS_COMPILE := arm-none-linux-gnueabi-
222 CROSS_COMPILE := $(R_CROSS_COMPILE)
224 #KSRC := ../../../../build/out/kernel
225 KSRC := $(KERNEL_BUILD_PATH)
229 ifeq ($(CONFIG_PLATFORM_TI_AM3517), y)
230 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ANDROID -DCONFIG_PLATFORM_SHUTTLE
231 CROSS_COMPILE := arm-eabi-
232 KSRC := $(shell pwd)/../../../Android/kernel
236 ifeq ($(CONFIG_PLATFORM_MSTAR_TITANIA12), y)
237 EXTRA_CFLAGS += -DCONFIG_PLATFORM_MSTAR_TITANIA12
239 CROSS_COMPILE:= /usr/src/Mstar_kernel/mips-4.3/bin/mips-linux-gnu-
241 KSRC:= /usr/src/Mstar_kernel/2.6.28.9/
244 ifeq ($(CONFIG_PLATFORM_ANDROID_X86), y)
245 SUBARCH := $(shell uname -m | sed -e s/i.86/i386/)
247 CROSS_COMPILE := /media/DATA-2/android-x86/ics-x86_20120130/prebuilt/linux-x86/toolchain/i686-unknown-linux-gnu-4.2.1/bin/i686-unknown-linux-gnu-
248 KSRC := /media/DATA-2/android-x86/ics-x86_20120130/out/target/product/generic_x86/obj/kernel
252 ifeq ($(CONFIG_PLATFORM_ARM_PXA2XX), y)
254 CROSS_COMPILE := arm-none-linux-gnueabi-
256 KSRC ?= /usr/src/linux-2.6.34.1
259 ifeq ($(CONFIG_PLATFORM_ARM_S3C2K4), y)
261 CROSS_COMPILE := arm-linux-
262 KVER := 2.6.24.7_$(ARCH)
263 KSRC := /usr/src/kernels/linux-$(KVER)
266 ifeq ($(CONFIG_PLATFORM_ARM_S3C6K4), y)
268 CROSS_COMPILE := arm-none-linux-gnueabi-
270 KSRC ?= /usr/src/linux-2.6.34.1
273 ifeq ($(CONFIG_PLATFORM_RTD2880B), y)
274 EXTRA_CFLAGS += -DCONFIG_PLATFORM_RTD2880B
281 ifeq ($(CONFIG_PLATFORM_MIPS_RMI), y)
283 CROSS_COMPILE:=mipsisa32r2-uclibc-
285 KSRC:= /root/work/kernel_realtek
288 ifeq ($(CONFIG_PLATFORM_MIPS_PLM), y)
290 CROSS_COMPILE:=mipsisa32r2-uclibc-
292 KSRC:= /root/work/kernel_realtek
295 ifeq ($(CONFIG_PLATFORM_MSTAR389), y)
296 EXTRA_CFLAGS += -DCONFIG_PLATFORM_MSTAR389
298 CROSS_COMPILE:= mips-linux-gnu-
300 KSRC:= /home/mstar/mstar_linux/2.6.28.9/
303 ifeq ($(CONFIG_PLATFORM_MIPS_AR9132), y)
305 CROSS_COMPILE := mips-openwrt-linux-
306 KSRC := /home/alex/test_openwrt/tmp/linux-2.6.30.9
309 ifeq ($(CONFIG_PLATFORM_DMP_PHILIPS), y)
310 EXTRA_CFLAGS += -DRTK_DMP_PLATFORM
312 #CROSS_COMPILE:=/usr/local/msdk-4.3.6-mips-EL-2.6.12.6-0.9.30.3/bin/mipsel-linux-
313 CROSS_COMPILE:=/usr/local/toolchain_mipsel/bin/mipsel-linux-
314 KSRC ?=/usr/local/Jupiter/linux-2.6.12
317 ifeq ($(CONFIG_PLATFORM_RTK_DMP), y)
318 EXTRA_CFLAGS += -DRTK_DMP_PLATFORM
320 CROSS_COMPILE:=mipsel-linux-
322 KSRC ?= /usr/src/DMP_Kernel/jupiter/linux-2.6.12
325 ifeq ($(CONFIG_PLATFORM_MT53XX), y)
326 EXTRA_CFLAGS += -DCONFIG_PLATFORM_MT53XX
328 CROSS_COMPILE:= arm11_mtk_le-
330 KSRC?= /proj/mtk00802/BD_Compare/BDP/Dev/BDP_V301/BDP_Linux/linux-2.6.27
333 ifeq ($(CONFIG_PLATFORM_ARM_MX51_241H), y)
334 EXTRA_CFLAGS += -DCONFIG_WISTRON_PLATFORM
336 CROSS_COMPILE := /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-
338 KSRC ?= /lib/modules/2.6.31-770-g0e46b52/source
341 ifeq ($(CONFIG_PLATFORM_ACTIONS_ATJ227X), y)
342 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ACTIONS_ATJ227X
344 CROSS_COMPILE := /home/cnsd4/project/actions/tools-2.6.27/bin/mipsel-linux-gnu-
346 KSRC := /home/cnsd4/project/actions/linux-2.6.27.28
349 ifeq ($(CONFIG_PLATFORM_TI_DM365), y)
350 EXTRA_CFLAGS += -DCONFIG_PLATFORM_TI_DM365
352 CROSS_COMPILE := /home/cnsd4/Appro/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-
354 KSRC := /home/cnsd4/Appro/mv_pro_5.0/montavista/pro/devkit/lsp/ti-davinci/linux-dm365
357 ifeq ($(CONFIG_PLATFORM_TEGRA3_CARDHU), y)
358 # default setting for Android 4.1, 4.2
359 EXTRA_CFLAGS += -DRTW_ENABLE_WIFI_CONTROL_FUNC
360 EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
361 EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
362 EXTRA_CFLAGS += -DDCONFIG_P2P_IPS
364 CROSS_COMPILE := /home/android_sdk/nvidia/tegra-16r3-partner-android-4.1_20120723/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
365 KSRC := /home/android_sdk/nvidia/tegra-16r3-partner-android-4.1_20120723/out/target/product/cardhu/obj/KERNEL
369 ifeq ($(CONFIG_PLATFORM_TEGRA4_DALMORE), y)
370 # default setting for Android 4.1, 4.2
371 EXTRA_CFLAGS += -DRTW_ENABLE_WIFI_CONTROL_FUNC
372 EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
373 EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
374 EXTRA_CFLAGS += -DDCONFIG_P2P_IPS
376 CROSS_COMPILE := /home/android_sdk/nvidia/tegra-17r9-partner-android-4.2-dalmore_20130131/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
377 KSRC := /home/android_sdk/nvidia/tegra-17r9-partner-android-4.2-dalmore_20130131/out/target/product/dalmore/obj/KERNEL
381 ifeq ($(CONFIG_PLATFORM_ARM_TCC8900), y)
383 CROSS_COMPILE := /home/android_sdk/Telechips/SDK_2304_20110613/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
384 KSRC := /home/android_sdk/Telechips/SDK_2304_20110613/kernel
388 ifeq ($(CONFIG_PLATFORM_ARM_TCC8920), y)
390 CROSS_COMPILE := /home/android_sdk/Telechips/v12.06_r1-tcc-android-4.0.4/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
391 KSRC := /home/android_sdk/Telechips/v12.06_r1-tcc-android-4.0.4/kernel
395 ifeq ($(CONFIG_PLATFORM_ARM_RK2818), y)
396 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ANDROID -DCONFIG_PLATFORM_ROCKCHIPS -DCONFIG_MINIMAL_MEMORY_USAGE
398 CROSS_COMPILE := /usr/src/release_fae_version/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
399 KSRC := /usr/src/release_fae_version/kernel25_A7_281x
403 ifeq ($(CONFIG_PLATFORM_ARM_URBETTER), y)
405 CROSS_COMPILE := /media/DATA-1/urbetter/arm-2009q3/bin/arm-none-linux-gnueabi-
406 KSRC := /media/DATA-1/urbetter/ics-urbetter/kernel
410 ifeq ($(CONFIG_PLATFORM_ARM_TI_PANDA), y)
412 #CROSS_COMPILE := /media/DATA-1/aosp/ics-aosp_20111227/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
413 #KSRC := /media/DATA-1/aosp/android-omap-panda-3.0_20120104
414 CROSS_COMPILE := /media/DATA-1/android-4.0/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
415 KSRC := /media/DATA-1/android-4.0/panda_kernel/omap
419 ifeq ($(CONFIG_PLATFORM_MIPS_JZ4760), y)
420 EXTRA_CFLAGS += -DCONFIG_MINIMAL_MEMORY_USAGE
422 CROSS_COMPILE ?= /mnt/sdb5/Ingenic/Umido/mips-4.3/bin/mips-linux-gnu-
423 KSRC ?= /mnt/sdb5/Ingenic/Umido/kernel
426 ifeq ($(CONFIG_PLATFORM_SZEBOOK), y)
428 CROSS_COMPILE:=/opt/crosstool2/bin/armeb-unknown-linux-gnueabi-
430 KSRC:= ../code/linux-2.6.31.6-2020/
433 #Add setting for MN10300
434 ifeq ($(CONFIG_PLATFORM_MN10300), y)
435 EXTRA_CFLAGS += -DCONFIG_PLATFORM_MN10300
437 CROSS_COMPILE := mn10300-linux-
439 KSRC := /home/winuser/work/Plat_sLD2T_V3010/usr/src/linux-2.6.32.2
444 ifeq ($(CONFIG_PLATFORM_ARM_SUNxI), y)
445 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ARM_SUNxI
447 CROSS_COMPILE := arm-none-linux-gnueabi-
449 #KSRC:= ../lichee/linux-3.0/
452 ifeq ($(CONFIG_PLATFORM_ARM_SUN6I), y)
453 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ARM_SUN6I
454 EXTRA_CFLAGS += -DCONFIG_USE_USB_BUFFER_ALLOC_TX
455 # default setting for Android 4.1, 4.2
456 EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
457 EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
458 EXTRA_CFLAGS += -DDCONFIG_P2P_IPS
460 CROSS_COMPILE := arm-none-linux-gnueabi-
462 #KSRC:= ../lichee/linux-3.3/
465 ifeq ($(CONFIG_PLATFORM_ACTIONS_ATV5201), y)
466 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ACTIONS_ATV5201
468 CROSS_COMPILE := mipsel-linux-gnu-
469 KVER := $(KERNEL_VER)
470 KSRC:= $(CFGDIR)/../../kernel/linux-$(KERNEL_VER)
473 ifneq ($(USER_MODULE_NAME),)
474 MODULE_NAME := $(USER_MODULE_NAME)
477 ifneq ($(KERNELRELEASE),)
479 rtk_core := core/rtw_cmd.o \
480 core/rtw_security.o \
483 core/rtw_ioctl_set.o \
484 core/rtw_ieee80211.o \
486 core/rtw_mlme_ext.o \
487 core/rtw_wlan_util.o \
501 $(MODULE_NAME)-y += $(rtk_core)
503 $(MODULE_NAME)-$(CONFIG_INTEL_WIDI) += core/rtw_intel_widi.o
505 $(MODULE_NAME)-$(CONFIG_WAPI_SUPPORT) += core/rtw_wapi.o \
508 $(MODULE_NAME)-y += core/rtw_efuse.o
510 $(MODULE_NAME)-y += $(_HAL_INTFS_FILES)
512 $(MODULE_NAME)-y += $(_OS_INTFS_FILES)
514 CONFIG_RTL8723AS-VAU := m
515 obj-$(CONFIG_RTL8723AS-VAU) := $(MODULE_NAME).o
519 export CONFIG_RTL8723AS-VAU = m
524 $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KSRC) M=$(shell pwd) modules
527 $(CROSS_COMPILE)strip $(MODULE_NAME).ko --strip-unneeded
530 install -p -m 644 $(MODULE_NAME).ko $(MODDESTDIR)
531 /sbin/depmod -a ${KVER}
534 rm -f $(MODDESTDIR)/$(MODULE_NAME).ko
535 /sbin/depmod -a ${KVER}
539 /bin/bash script/Configure script/config.in
541 .PHONY: modules clean clean_odm-8192c
545 rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~
547 rm -fr Module.symvers ; rm -fr Module.markers ; rm -fr modules.order
548 cd core ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
549 cd hal ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
550 cd os_dep ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko