| #------------------------------------------------------------------------------ |
| # <copyright file="makefile" company="Atheros"> |
| # Copyright (c) 2005-2010 Atheros Corporation. All rights reserved. |
| # |
| # |
| # Permission to use, copy, modify, and/or distribute this software for any |
| # purpose with or without fee is hereby granted, provided that the above |
| # copyright notice and this permission notice appear in all copies. |
| # |
| # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
| # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
| # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
| # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
| # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| # |
| # |
| #------------------------------------------------------------------------------ |
| #============================================================================== |
| # Author(s): ="Atheros" |
| #============================================================================== |
| ####################################################################################### |
| # AR6K Kernel Module makefile. |
| # |
| # This makefile is invoked by the master makefile in the linux kernel, the linux kernel |
| # source must be initially compiled. The top level make will invoke the main linux kernel |
| # makefile which will subsequently pick up this makefile. |
| # |
| ####################################################################################### |
| |
| |
| REV ?= 2 |
| |
| EXTRA_CFLAGS += -I$(ATH_SRC_BASE)/include |
| EXTRA_CFLAGS += -I$(ATH_SRC_BASE)/../include |
| EXTRA_CFLAGS += -I$(ATH_SRC_BASE)/wlan/include |
| EXTRA_CFLAGS += -I$(ATH_SRC_BASE)/os/linux/include |
| EXTRA_CFLAGS += -I$(ATH_SRC_BASE)/os/ |
| EXTRA_CFLAGS += -I$(ATH_SRC_BASE)/bmi/include |
| EXTRA_CFLAGS += -I$(ATH_SRC_BASE)/../include/AR6002 |
| |
| EXTRA_CFLAGS += -DLINUX -D__KERNEL__ \ |
| -DTCMD -DSEND_EVENT_TO_APP -DUSER_KEYS \ |
| -DNO_SYNC_FLUSH -DHTC_EP_STAT_PROFILING -DWLAN_HEADERS\ |
| -DATH_AR6K_11N_SUPPORT \ |
| -DSUPPORT_11N \ |
| -DWAPI_ENABLE \ |
| -DHS20_ENABLE #\ |
| -DMULTIPLE_FRAMES_PER_INTERRUPT -DAR6000REV$(REV) \ |
| -DBLOCK_TX_PATH_FLAG -DCHECKSUM_OFFLOAD \ |
| |
| ifeq ($(ATH_BUILD_BTFILTER),yes) |
| EXTRA_CFLAGS += -DBTCOEX |
| EXTRA_CFLAGS += -DCONFIG_BT |
| endif |
| |
| ifeq ($(ATH_BMISS_ENHANCEMENT),yes) |
| EXTRA_CFLAGS += -DBMISS_ENHANCEMENT |
| endif |
| |
| |
| ifeq ($(ATH_CFG80211_ENV),yes) |
| EXTRA_CFLAGS += -DATH6K_CONFIG_CFG80211 |
| # EXTRA_CFLAGS += -DCFG80211_WAPI_ENABLE |
| endif |
| |
| ifeq ($(ATH_INIT_MODE_DRV_ENABLED), yes) |
| ifeq ($(ATH_AR600x_WB31_XXX),yes) |
| EXTRA_CFLAGS += -DAR600x_WB31_XXX |
| else |
| ifeq ($(ATH_AR600x_SD32_XXX),yes) |
| EXTRA_CFLAGS += -DAR600x_SD32_XXX |
| else |
| EXTRA_CFLAGS += -DAR600x_SD31_XXX |
| endif |
| endif |
| EXTRA_CFLAGS += -DINIT_MODE_DRV_ENABLED -DBMIENABLE_SET |
| endif |
| |
| ifeq ($(ATH_ANDROID_ENV),yes) |
| EXTRA_CFLAGS += -DANDROID_ENV -D__linux__ $(ATH_ANDROID_BUILD_FLAGS) |
| EXTRA_CFLAGS += -DINIT_MODE_DRV_ENABLED -DBMIENABLE_SET -DAR600x_SD31_XXX \ |
| -DATH6KL_CONFIG_HIF_VIRTUAL_SCATTER \ |
| -DCONFIG_AP_VIRTUAL_ADAPTER_SUPPORT |
| ifeq ($(ATH_AR6K_HCI_BRIDGE),yes) |
| EXTRA_CFLAGS += -DSETUPHCI_ENABLED -DSETUPBTDEV_ENABLED \ |
| -DATH6KL_CONFIG_GPIO_BT_RESET -DAR600x_BT_AR3001 |
| endif |
| endif |
| |
| ifeq ($(ATH_AR6K_HCI_PAL),yes) |
| EXTRA_CFLAGS += -DSETUPHCIPAL_ENABLED |
| ifeq ($(ATH_AR6K_DEBUG_HCI_PAL),yes) |
| EXTRA_CFLAGS += -DHCIPAL_DEBUG |
| endif |
| endif |
| |
| ifeq ($(ATH_SOFTMAC_FILE_USED),yes) |
| EXTRA_CFLAGS += -DSOFTMAC_FILE_USED |
| endif |
| |
| ifeq ($(ATH_AR6K_OTA_TEST_MODE),yes) |
| EXTRA_CFLAGS += -DATH6K_CONFIG_OTA_MODE |
| endif |
| |
| ifeq ($(ATH_AR6K_HCI_BRIDGE),yes) |
| EXTRA_CFLAGS += -I$(ATH_SRC_BASE)/miscdrv/ar3kps |
| EXTRA_CFLAGS += -I$(ATH_SRC_BASE)/../include/AR6002/hw4.0 |
| |
| EXTRA_CFLAGS += -DATH_AR6K_ENABLE_GMBOX \ |
| -DHCI_TRANSPORT_SDIO |
| |
| ifeq ($(ATH_AR6K_BUILTIN_HCI_TRANSPORT),no) |
| EXTRA_CFLAGS += -DEXPORT_HCI_BRIDGE_INTERFACE |
| endif |
| endif |
| |
| |
| ifeq ($(ATH_HTC_RAW_INT_ENV),yes) |
| EXTRA_CFLAGS += -DHTC_RAW_INTERFACE |
| endif |
| |
| ifeq ($(ATH_DEBUG_DRIVER),yes) |
| EXTRA_CFLAGS += -DDEBUG -DATH_DEBUG_MODULE |
| endif |
| |
| ifeq ($(ATH_USE_PREALLOC_BUFFER),yes) |
| EXTRA_CFLAGS += -DUSE_PREALLOC_BUFFER |
| endif |
| |
| ifeq ($(ATH_BUILD_P2P),yes) |
| EXTRA_CFLAGS += -DP2P |
| endif |
| |
| ifeq ($(AR6002_REV),4) |
| EXTRA_CFLAGS += -DAR6002_REV4 |
| endif |
| |
| ifneq ("$(wildcard $(ATH_SRC_BASE)/../include/AR6002/hw2.0)","") |
| EXTRA_CFLAGS += -DAR6002_HEADERS_DEF |
| endif |
| |
| ifneq ("$(wildcard $(ATH_SRC_BASE)/../include/AR6002/hw4.0)","") |
| EXTRA_CFLAGS += -DAR6003_HEADERS_DEF |
| endif |
| |
| ifneq ("$(wildcard $(ATH_SRC_BASE)/../include/AR6002/hw6.0)","") |
| EXTRA_CFLAGS += -DMCKINLEY_HEADERS_DEF |
| endif |
| |
| ifneq ($(ATH_OS_SUB_TYPE),linux_2_4) |
| # linux 2.6 and higher kernel module build settings |
| EXTRA_CFLAGS += -DKERNEL_2_6 |
| obj-m += ar6000.o |
| ifeq ($(ATH_AR6K_BUILTIN_HCI_TRANSPORT),no) |
| obj-m += bt_hci_sdio.o |
| endif |
| -include $(ATH_SRC_BASE)/hif/$(ATH_HIF_TYPE)/Makefile |
| |
| ifneq ($(ATH_HIF_MESSAGE_BASED),yes) |
| ar6000-objs += ../../htc2/AR6000/ar6k.o \ |
| ../../htc2/AR6000/ar6k_events.o \ |
| ../../htc2/htc_send.o \ |
| ../../htc2/htc_recv.o \ |
| ../../htc2/htc_services.o \ |
| ../../htc2/htc.o |
| endif |
| |
| ifeq ($(ATH_HIF_MESSAGE_BASED),yes) |
| ar6000-objs += ../../htc_thin/htc_send.o \ |
| ../../htc_thin/htc_recv.o \ |
| ../../htc_thin/htc_services.o \ |
| ../../htc_thin/htc.o |
| endif |
| |
| |
| ar6000-objs += ../../bmi/src/bmi.o \ |
| ar6000_drv.o \ |
| ar6000_pm.o \ |
| ar6000_raw_if.o \ |
| netbuf.o \ |
| wireless_ext.o \ |
| ioctl.o \ |
| ../../miscdrv/common_drv.o \ |
| ../../miscdrv/credit_dist.o \ |
| ../../wmi/wmi.o \ |
| ../../reorder/rcv_aggr.o \ |
| ../../wlan/src/wlan_node.o \ |
| ../../wlan/src/wlan_recv_beacon.o \ |
| ../../wlan/src/wlan_utils.o \ |
| ../../regtable/regtable.o \ |
| ../../regtable/AR6003def.o |
| |
| ifeq ($(ATH_BUILD_P2P),yes) |
| ar6000-objs += ../../p2p/p2p_main.o |
| endif |
| |
| ifeq ($(ATH_HIF_TYPE),sdio) |
| ar6000-objs += ../../hif/common/hif_bmi_reg_access.o \ |
| ../../hif/common/hif_diag_reg_access.o |
| |
| endif |
| |
| ifeq ($(ATH_CFG80211_ENV),yes) |
| ar6000-objs += cfg80211.o |
| endif |
| |
| ifneq ($(ATH_AR6K_BUILTIN_HCI_TRANSPORT),no) |
| ar6000-objs += hci_bridge.o |
| endif |
| |
| ifneq ($(ATH_AR6K_BUILTIN_HCI_PAL),no) |
| ar6000-objs += ar6k_pal.o |
| else |
| obj-m += ar6k_pal.o |
| endif |
| |
| ifeq ($(ATH_AR6K_HCI_BRIDGE),yes) |
| ar6000-objs += ../../htc2/AR6000/ar6k_gmbox.o \ |
| ../../htc2/AR6000/ar6k_gmbox_hciuart.o |
| ifneq ($(ATH_AR6K_BUILTIN_HCI_TRANSPORT),no) |
| ar6000-objs += ../../miscdrv/ar3kconfig.o \ |
| ../../miscdrv/ar3kps/ar3kpsconfig.o \ |
| ../../miscdrv/ar3kps/ar3kpsparser.o |
| else |
| ar6000-objs += export_hci_transport.o |
| endif |
| |
| ifeq ($(ATH_AR6K_BUILTIN_HCI_TRANSPORT),no) |
| bt_hci_sdio-objs += hci_bridge.o \ |
| ../../miscdrv/ar3kconfig.o \ |
| ../../miscdrv/ar3kps/ar3kpsconfig.o \ |
| ../../miscdrv/ar3kps/ar3kpsparser.o |
| endif |
| endif |
| |
| ifeq ($(ATH_ANDROID_ENV),yes) |
| ar6000-objs += ar6000_android.o |
| endif |
| |
| ifeq ($(ATH_AR6K_DEBUG_ALLOC),yes) |
| EXTRA_CFLAGS += -DAR6K_ALLOC_DEBUG |
| ar6000-objs += ar6k_mem_debug.o |
| endif |
| |
| endif |
| |
| ifeq ($(ATH_OS_SUB_TYPE),linux_2_4) |
| # linux 2.4 kernel module build settings |
| EXTRA_CFLAGS += -DKERNEL_2_4 |
| |
| O_TARGET := ar6000.o |
| # need export line for module export |
| export-objs := ar6000_drv.o |
| -include $(ATH_SRC_BASE)/hif/$(ATH_HIF_TYPE)/Makefile |
| obj-y += $(ATH_SRC_BASE)/htc2/htc.o \ |
| $(ATH_SRC_BASE)/htc2/htc_send.o \ |
| $(ATH_SRC_BASE)/htc2/htc_recv.o \ |
| $(ATH_SRC_BASE)/htc2/htc_services.o \ |
| $(ATH_SRC_BASE)/htc2/AR6000/ar6k.o \ |
| $(ATH_SRC_BASE)/htc2/AR6000/ar6k_events.o \ |
| $(ATH_SRC_BASE)/bmi/src/bmi.o \ |
| $(ATH_SRC_BASE)/wmi/wmi.o \ |
| $(ATH_SRC_BASE)/reorder/rcv_aggr.o \ |
| $(ATH_SRC_BASE)/wlan/src/wlan_node.o \ |
| $(ATH_SRC_BASE)/wlan/src/wlan_recv_beacon.o \ |
| $(ATH_SRC_BASE)/wlan/src/wlan_utils.o \ |
| $(ATH_SRC_BASE)/os/linux/ar6000_drv.o \ |
| $(ATH_SRC_BASE)/os/linux/ar6000_raw_if.o \ |
| $(ATH_SRC_BASE)/os/linux/wireless_ext.o \ |
| $(ATH_SRC_BASE)/os/linux/ioctl.o \ |
| $(ATH_SRC_BASE)/os/linux/netbuf.o \ |
| $(ATH_SRC_BASE)/miscdrv/common_drv.o \ |
| $(ATH_SRC_BASE)/miscdrv/credit_dist.o |
| |
| ifeq ($(ATH_HIF_TYPE),SPI2) |
| obj-y += $(ATH_SRC_BASE)/hif/common/hif_bmi_reg_access.o \ |
| $(ATH_SRC_BASE)/hif/common/hif_diag_reg_access.o |
| |
| endif |
| |
| obj-m += htc.o \ |
| htc_send.o \ |
| htc_recv.o \ |
| htc_services.o \ |
| ar6k_events.o \ |
| ar6k.o \ |
| hif.o \ |
| bmi.o \ |
| wmi.o \ |
| wlan_node.o \ |
| wlan_recv_beacon.o \ |
| wlan_utils.o \ |
| ar6000_drv.o \ |
| ar6000_raw_if.o \ |
| common_drv.o \ |
| credit_dist.o \ |
| netbuf.o \ |
| wireless_ext.o \ |
| rcv_aggr.o \ |
| ioctl.o \ |
| ar6000.o |
| |
| ifeq ($(ATH_HIF_TYPE),SPI2) |
| obj-m += hif_bmi_reg_access.o \ |
| hif_diag_reg_access.o |
| |
| endif |
| |
| include $(ATH_LINUXPATH)/Rules.make |
| endif |