# Makefile for Atheros AR521x Code Module
#
# modification history
# --------------------
# 01p,23sep10,hfc  remove support of non-Vxbus atheros driver
# 01o,03sep09,hfc  fix for defect WIND00180118
# 01n,15sep08,hfc  Fix for defect WIND00132682
# 01m,19aug08,mze  TOOL changes
# 01l,11jul08,hfc  add PRECOM support for VSB build
# 01k,10jul08,hfc  replace findstring SMP with _WRS_CONFIG_SMP to adopt vsb
#                  notion
# 01j,27feb08,hfc  add support for vxbus/smp and legacy build
# 01i,28jun07,spw  Disable SMP builds
# 01h,01apr05,rb   Removed diab compilation protection
# 01g,24aug04,dxb  Removed export parameter
# 01f,23aug04,dxb  Added override directive
# 01e,27jul04,dxb  fix typo
# 01d,27jul04,dxb  override -ansi to allow c++ comment headers for GNU 3.3
# 01c,21jul04,eja  Change BIG_ENDIAN to A_BIG_ENDIAN to resolve PCD little
#                  endian issue
# 01b,06may04,dxb  Added additional include paths and gnu-only compile
# 01a,28apr04,dxb  Created.
#
# DESCRIPTION
# This file contains the Makefile rules for building the Atheros AR521x
# 802.11a/b/g HAL (Hardware Interface Layer) proprietary code module



TGT_DIR = $(WIND_BASE)/target
LIB_BASE_NAME = ar521xVxbEnd
include $(TGT_DIR)/h/make/defs.library

ifndef _WRS_CONFIG_WLAN_ATH
all : rclean
endif

ifdef _WRS_CONFIG_IPWLAN_ATHEROS

AR_DIR = $(TGT_DIR)/src/drv/wlan/atheros_ar521x
C_SOURCE = ar5212Attach.c  ar5212Interrupts.c  ar5212Misc.c  ar5212Power.c    ar5212Reset.c \
	   ar5212Beacon.c  ar5212KeyCache.c    ar5212Phy.c   ar5212Receive.c  ar5212Transmit.c 


OBJS_PRECOMP_ar521xVxbEnd = $(C_SOURCE:.c=.o)

CFLAGS_LIB_ar521xVxbEnd = -DVXBUS
endif

SUBDIRS = 

# Extra include paths required by Atheros code
EXTRA_INCLUDE= -I. -I$(AR_DIR) -I$(AR_DIR)/hal -I$(AR_DIR)/include  \
               -I$(AR_DIR)/include/diags  

include $(TGT_DIR)/h/make/rules.library

# Override -ansi compiler flag to allow C++ style comments
CC_COMPILER =

# Extra C flags required by Atheros code
override ADDED_CFLAGS += -DVXWORKS -DVXWORKS55 -DBUILD_AR5211  \
                         -DBUILD_AR5212 -DPCI_INTERFACE -DBUILD_AP -DDEBUG

# Need manual endian determination for Atheros code.  Atheros should use the
# _BYTE_ORDER macro so we don't have to re-create the functionality here
ifeq  ($(BUILD_ENDIAN_SUFFIX),be)
override ADDED_CFLAGS += -DA_BIG_ENDIAN
else
ifeq  ($(BUILD_ENDIAN_SUFFIX),le)
else
# at this point, we've established that the endianness is not specified in
# the TOOL variable, so move to defaults based on CPU_FAMILY

    ifeq ($(VX_CPU_FAMILY),arm)
    endif

    ifeq ($(VX_CPU_FAMILY),mips)
      override ADDED_CFLAGS += -DA_BIG_ENDIAN
    endif

    ifeq ($(VX_CPU_FAMILY),ppc)
      override ADDED_CFLAGS += -DA_BIG_ENDIAN
    endif

    ifeq ($(VX_CPU_FAMILY),sh)
      override ADDED_CFLAGS += -DA_BIG_ENDIAN
    endif

    ifeq ($(VX_CPU_FAMILY),pentium)
    endif
  endif
endif
