Makefile revision 203286
11573Srgrimes#
21573Srgrimes# Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
31573Srgrimes# All rights reserved.
41573Srgrimes#
51573Srgrimes# Redistribution and use in source and binary forms, with or without
61573Srgrimes# modification, are permitted provided that the following conditions
71573Srgrimes# are met:
81573Srgrimes# 1. Redistributions of source code must retain the above copyright
91573Srgrimes#    notice, this list of conditions and the following disclaimer,
101573Srgrimes#    without modification.
111573Srgrimes# 2. Redistributions in binary form must reproduce at minimum a disclaimer
121573Srgrimes#    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
131573Srgrimes#    redistribution must be conditioned upon including a substantially
141573Srgrimes#    similar Disclaimer requirement for further binary redistribution.
151573Srgrimes#
161573Srgrimes# NO WARRANTY
171573Srgrimes# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
181573Srgrimes# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
191573Srgrimes# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
201573Srgrimes# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
211573Srgrimes# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
221573Srgrimes# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
231573Srgrimes# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
241573Srgrimes# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
251573Srgrimes# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
261573Srgrimes# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
271573Srgrimes# THE POSSIBILITY OF SUCH DAMAGES.
281573Srgrimes#
291573Srgrimes# $FreeBSD: head/sys/modules/ath/Makefile 203286 2010-01-31 14:25:09Z rpaulo $
301573Srgrimes#
311573Srgrimes
321573SrgrimesATH_RATE?=	sample		# tx rate control algorithm
331573Srgrimes
341573Srgrimes.PATH:	${.CURDIR}/../../dev/ath
351573Srgrimes.PATH:	${.CURDIR}/../../dev/ath/ath_hal
361573Srgrimes
371573SrgrimesKMOD=	if_ath
381573SrgrimesSRCS=	if_ath.c if_ath_pci.c
391573Srgrimes# NB: v3 eeprom support used by both AR5211 and AR5212; just include it
401573SrgrimesSRCS+=	ah_osdep.c ah.c ah_regdomain.c ah_eeprom_v3.c
411573SrgrimesSRCS+=	device_if.h bus_if.h pci_if.h opt_inet.h opt_ath.h opt_ah.h opt_wlan.h
421573Srgrimes
431573Srgrimes#
441573Srgrimes# AR5210 support; these are first generation 11a-only devices.
451573Srgrimes#
461573Srgrimes.PATH:	${.CURDIR}/../../dev/ath/ath_hal/ar5210
471573SrgrimesSRCS+=	ah_eeprom_v1.c \
481573Srgrimes	ar5210_attach.c ar5210_beacon.c ar5210_interrupts.c \
491573Srgrimes	ar5210_keycache.c ar5210_misc.c ar5210_phy.c ar5210_power.c \
501573Srgrimes	ar5210_recv.c ar5210_reset.c ar5210_xmit.c
511573Srgrimes
521573Srgrimes#
531573Srgrimes# AR5211 support; these are second generation 11b/g/a devices
541573Srgrimes# (but 11g was OFDM only and is not supported).
551573Srgrimes#
561573Srgrimes.PATH:	${.CURDIR}/../../dev/ath/ath_hal/ar5211
571573SrgrimesSRCS+=	ar5211_attach.c ar5211_beacon.c ar5211_interrupts.c \
581573Srgrimes	ar5211_keycache.c ar5211_misc.c	ar5211_phy.c ar5211_power.c \
591573Srgrimes	ar5211_recv.c ar5211_reset.c ar5211_xmit.c
601573Srgrimes
61#
62# AR5212 support; this covers all other pci/cardbus legacy parts.
63#
64.PATH:	${.CURDIR}/../../dev/ath/ath_hal/ar5212
65SRCS+=	ar5212_ani.c ar5212_attach.c ar5212_beacon.c ar5212_eeprom.c \
66	ar5212_gpio.c ar5212_interrupts.c ar5212_keycache.c ar5212_misc.c \
67	ar5212_phy.c ar5212_power.c ar5212_recv.c ar5212_reset.c \
68	ar5212_rfgain.c ar5212_xmit.c
69# RF backends
70SRCS+=	ar5111.c
71SRCS+=	ar5112.c
72SRCS+=	ar2413.c
73SRCS+=	ar2425.c
74SRCS+=	ar5413.c
75
76#
77# AR5416, AR9160 support; these are 11n parts but only really
78# supported (right now) operating in legacy mode.  Note enabling
79# this support requires defining AH_SUPPORT_AR5416 in opt_ah.h
80# so the 11n tx/rx descriptor format is handled.
81#
82# NB: 9160 depends on 5416 but 5416 does not require 9160
83#
84.PATH:	${.CURDIR}/../../dev/ath/ath_hal/ar5416
85SRCS+=	ah_eeprom_v14.c ah_eeprom_v4k.c \
86	ar5416_ani.c ar5416_attach.c ar5416_beacon.c ar5416_cal.c \
87	ar5416_cal_iq.c ar5416_cal_adcgain.c ar5416_cal_adcdc.c \
88	ar5416_eeprom.c ar5416_gpio.c ar5416_interrupts.c ar5416_keycache.c \
89	ar5416_misc.c ar5416_phy.c ar5416_power.c ar5416_recv.c \
90	ar5416_reset.c ar5416_xmit.c
91SRCS+=	ar9160_attach.c
92SRCS+=	ar9280.c ar9280_attach.c
93# RF backend for 5416 and 9160
94SRCS+=	ar2133.c
95
96# NB: rate control is bound to the driver by symbol names so only pick one
97.if ${ATH_RATE} == "sample"
98.PATH:	${.CURDIR}/../../dev/ath/ath_rate/sample
99SRCS+=	sample.c
100.elif ${ATH_RATE} == "onoe"
101.PATH:	${.CURDIR}/../../dev/ath/ath_rate/onoe
102SRCS+=	onoe.c
103.elif ${ATH_RATE} == "amrr"
104.PATH:	${.CURDIR}/../../dev/ath/ath_rate/amrr
105SRCS+=	amrr.c
106.endif
107
108CFLAGS+=  -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal
109
110opt_ah.h:
111	echo '#define AH_SUPPORT_AR5416 1' > $@
112
113.include <bsd.kmod.mk>
114