Added missing properties.
[AROS.git] / workbench / devs / networks / atheros5000 / hal / linux / makefile.inc
blob1b173dfc49c62dcd40b09b3f3ee229e749efcf1c
2 # Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
3 # Copyright (c) 2002-2008 Atheros Communications, Inc.
5 # Permission to use, copy, modify, and/or distribute this software for any
6 # purpose with or without fee is hereby granted, provided that the above
7 # copyright notice and this permission notice appear in all copies.
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 # $Id$
19 HAL=    ..
20 PUBLIC= ${HAL}/public
21 DEBUG=  ${HAL}/debug
23 # Makefile for building the Atheros/MADWIFI HAL from source code on Linux.
25 # This file is intended to be called by the Makefile in the hal
26 # directory with TARGET set to the desired target platform.
28 # There is support for multiple "generations" of Atheros hardware devices:
30 # AH_SUPPORT_AR5210     802.11a only MAC
31 # AH_SUPPORT_AR5211     802.11a+802.11b MAC (also pure g, but not yet supported)
32 # AH_SUPPORT_AR5212     802.11a+802.11b+802.11g MAC
33 # AH_SUPPORT_AR5312     5212 MAC WiSoC (requires AH_SUPPORT_AR5212)
34 # AH_SUPPORT_AR5416     802.11a+802.11g+802.11n MAC (requires AH_SUPPORT_5212)
35 # AH_SUPPORT_AR9160     802.11a+802.11g+802.11n MAC (requires AH_SUPPORT_5416)
37 # AH_SUPPORT_2133       2133 RF support for 5416
38 # AH_SUPPORT_2316       2316 RF (Cobra) support for 5212 et. al.
39 # AH_SUPPORT_2317       2317 RF (Spyder) support for 5212 et. al.
40 # AH_SUPPORT_2413       2413 RF support for 5212 et. al.
41 # AH_SUPPORT_2417       2425 RF (Nala) support for 5212 et. al.
42 # AH_SUPPORT_2425       2425 RF (Swan) support for 5212 et. al.
43 # AH_SUPPORT_5111       5111 RF support for 5212 et. al.
44 # AH_SUPPORT_5112       5112 RF support for 5212 et. al.
45 # AH_SUPPORT_5413       5413 RF support for 5212 et. al.
47 # and numerous optional debugging facilities (typically named AH_DEBUG_*):
49 # AH_DEBUG              enables debugging stuff that's controlled by the sysctl:
50 #                       hw.ath.hal.debug
51 # AH_ASSERT             enables assertions that panic or trap into the debugger.
52 # AH_DEBUG_ALQ          enables support for tracing register reads+writes
53 #                       via alq
54 # AH_DEBUG_COUNTRY      accept the CTR_DEBUG country code (for debugging
55 #                       the regulatory domain support)
56 # AH_REGOPS_FUNC        arrange for OS_REG_READ and OS_REG_WRITE to be function
57 #                       calls and not inline expanded to memory references
58 # AH_ENABLE_AP_SUPPORT  enables AP-specific support not publicly available
59 #                       (e.g. don't cap turbo power limits)
60 # AH_DISABLE_WME        disable HAL_TXQ_USE_LOCKOUT_BKOFF_DIS support
62 # AH_PRIVATE_DIAG       enable private diagnostic support
63 # AH_WRITE_EEPROM       permit EEPROM writes (use with AH_PRIVATE_DIAG)
64 # AH_WRITE_REGDOMAIN    permit EEPROM writes of the regulatory domain through
65 #                       ah_setRegulatoryDomain (implies AH_WRITE_EEPROM)
69 # Default settings...
71 AH_SUPPORT_AR5210?=1            # 5210 support
72 AH_SUPPORT_AR5211?=1            # 5211 support
73 AH_SUPPORT_AR5212?=1            # 5212 support
74 AH_SUPPORT_AR5312?=0            # 5312 support
75 AH_SUPPORT_AR5416?=1            # 5416 support
76 AH_SUPPORT_AR9160?=0            # 9160 support
77 AH_SUPPORT_2316?=0              # 2316 RF support
78 AH_SUPPORT_2317?=0              # 2317 RF support
79 AH_SUPPORT_2133?=0              # 2133 RF support
80 AH_SUPPORT_2413?=1              # 2413 RF support
81 AH_SUPPORT_2417?=1              # 2417 RF support
82 AH_SUPPORT_2425?=1              # 2425 RF support
83 AH_SUPPORT_5111?=1              # 5111 RF support
84 AH_SUPPORT_5112?=1              # 5112 RF support
85 AH_SUPPORT_5413?=1              # 5413 RF support
87 AH_EEPROM_V3?=0                 # v3+ EEPROM support
88 AH_EEPROM_V14?=0                # v14+ EEPROM support
90 AH_DEBUG?=0                     # debugging (e.g. hw.ath.hal.debug)
91 AH_ASSERT?=0                    # assertions (pretty lame)
92 AH_DEBUG_ALQ?=0                 # ALQ register tracing support
93 AH_REGOPS_FUNC?=0               # use inline memory references
94 AH_WRITE_REGDOMAIN?=0           # support EEPROM writes of the regulatory domain
95 AH_DEBUG_COUNTRY?=0             # accept CTR_DEBUG country code
96 AH_DISABLE_WME?=0               # disable HAL_TXQ_USE_LOCKOUT_BKOFF_DIS
97 AH_ENABLE_AP_SUPPORT?=0         # enable AP-specific support
98 AH_WRITE_EEPROM?=0              # support EEPROM writes
99 AH_PRIVATE_DIAG?=0              # non-public diagnostic support
100 AH_NEED_DESC_SWAP?=0            # Need to swap TX descriptor
101 AH_ENABLE_FORCEBIAS?=0          # 2133 orientation sensitivity
104 # If 5312 support is enabled it's certain we're not going
105 # to use the 5210, 5211, or 5416 support so disable them.
107 ifeq ($(strip ${AH_SUPPORT_AR5312}),1)
108 AH_SUPPORT_AR5210=0
109 AH_SUPPORT_AR5211=0
110 AH_SUPPORT_AR5416=0
111 AH_SUPPORT_2133=0
112 AH_SUPPORT_2413=0
113 AH_SUPPORT_2417=0
114 AH_SUPPORT_2425=0
115 AH_SUPPORT_5413=0
116 AH_SUPPORT_AR5212=1             # force 5212 support
117 endif
120 # 5211 and 5212 require v3 EEPROM support; do it here
121 # before we enable 5212 to support 5416 (this way we don't
122 # pull in v3 support as a side effect).
124 ifeq ($(strip ${AH_SUPPORT_AR5212}),1)
125 AH_EEPROM_V3=1
126 endif
127 ifeq ($(strip ${AH_SUPPORT_AR5211}),1)
128 AH_EEPROM_V3=1
129 endif
132 # If 9160 support is enabled force 5416 on also.
134 ifeq ($(strip ${AH_SUPPORT_AR9160}),1)
135 AH_SUPPORT_AR5416=1
136 endif
139 # If 5416 support is enabled force 5212 on also.
141 ifeq ($(strip ${AH_SUPPORT_AR5416}),1)
142 AH_SUPPORT_AR5212=1
143 endif
146 # 5416 support presently =>'s 2133 and force bias support;
147 # do those automatically (but separately from 5212 for now).
149 ifeq ($(strip ${AH_SUPPORT_AR5416}),1)
150 AH_SUPPORT_2133=1
151 AH_ENABLE_FORCEBIAS=1
152 AH_EEPROM_V14=1
153 endif
156 # 2417 support presently requires 2425 support
158 ifeq ($(strip ${AH_SUPPORT_2417}),1)
159 AH_SUPPORT_2425=1
160 endif
163 # Basic build components.
165 OBJDIR= obj/${TARGET}
167 WARNFLAGS=-Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \
168         -Wmissing-prototypes -Winline -Wcast-qual -std=c99
169 # NB: can't do this until we fix register r/w macros
170 WARNFLAGS_NOTYET=-Wpointer-arith
171 COPTS=  -Werror -g -O ${WARNFLAGS}
172 INCS=   -I${OBJDIR} -I. -I..
173 CLEANFILES=     ${OBJDIR}/.depend
175 include ${PUBLIC}/${TARGET}.inc
177 CFLAGS= ${INCS} ${COPTS}
179 HAL_SRCS=${HAL}/ah.c ${HAL}/ah_regdomain.c
180 HAL_OBJS=${OBJDIR}/ah.o ${OBJDIR}/ah_regdomain.o
182 ifeq ($(strip ${AH_EEPROM_V3}),1)
183 HAL_SRCS+=${HAL}/ah_eeprom_v3.c
184 HAL_OBJS+=${OBJDIR}/ah_eeprom_v3.o
185 endif
187 ifeq ($(strip ${AH_EEPROM_V14}),1)
188 HAL_SRCS+=${HAL}/ah_eeprom_v14.c
189 HAL_OBJS+=${OBJDIR}/ah_eeprom_v14.o
190 endif
192 ifeq ($(strip ${AH_SUPPORT_AR5210}),1)
193 AR5210= ${HAL}/ar5210
194 HAL_SRCS+=${AR5210}/ar5210_attach.c ${AR5210}/ar5210_beacon.c \
195         ${AR5210}/ar5210_interrupts.c ${AR5210}/ar5210_keycache.c \
196         ${AR5210}/ar5210_misc.c ${AR5210}/ar5210_power.c \
197         ${AR5210}/ar5210_phy.c ${AR5210}/ar5210_recv.c \
198         ${AR5210}/ar5210_reset.c ${AR5210}/ar5210_xmit.c
199 HAL_OBJS+=${OBJDIR}/ar5210_attach.o ${OBJDIR}/ar5210_beacon.o \
200         ${OBJDIR}/ar5210_interrupts.o ${OBJDIR}/ar5210_keycache.o \
201         ${OBJDIR}/ar5210_misc.o ${OBJDIR}/ar5210_power.o \
202         ${OBJDIR}/ar5210_phy.o ${OBJDIR}/ar5210_recv.o \
203         ${OBJDIR}/ar5210_reset.o ${OBJDIR}/ar5210_xmit.o
204 endif
206 ifeq ($(strip ${AH_SUPPORT_AR5211}),1)
207 AR5211= ${HAL}/ar5211
208 HAL_SRCS+=${AR5211}/ar5211_attach.c ${AR5211}/ar5211_beacon.c \
209         ${AR5211}/ar5211_interrupts.c ${AR5211}/ar5211_keycache.c \
210         ${AR5211}/ar5211_misc.c ${AR5211}/ar5211_power.c \
211         ${AR5211}/ar5211_phy.c ${AR5211}/ar5211_recv.c \
212         ${AR5211}/ar5211_reset.c ${AR5211}/ar5211_xmit.c
213 HAL_OBJS+=${OBJDIR}/ar5211_attach.o ${OBJDIR}/ar5211_beacon.o \
214         ${OBJDIR}/ar5211_interrupts.o ${OBJDIR}/ar5211_keycache.o \
215         ${OBJDIR}/ar5211_misc.o ${OBJDIR}/ar5211_power.o \
216         ${OBJDIR}/ar5211_phy.o ${OBJDIR}/ar5211_recv.o \
217         ${OBJDIR}/ar5211_reset.o ${OBJDIR}/ar5211_xmit.o
218 endif
220 ifeq ($(strip ${AH_SUPPORT_AR5212}),1)
221 AR5212= ${HAL}/ar5212
222 HAL_SRCS+=${AR5212}/ar5212_attach.c ${AR5212}/ar5212_beacon.c \
223         ${AR5212}/ar5212_eeprom.c ${AR5212}/ar5212_gpio.c \
224         ${AR5212}/ar5212_interrupts.c ${AR5212}/ar5212_keycache.c \
225         ${AR5212}/ar5212_misc.c ${AR5212}/ar5212_power.c \
226         ${AR5212}/ar5212_phy.c ${AR5212}/ar5212_recv.c \
227         ${AR5212}/ar5212_reset.c ${AR5212}/ar5212_xmit.c \
228         ${AR5212}/ar5212_ani.c
229 HAL_OBJS+=${OBJDIR}/ar5212_attach.o ${OBJDIR}/ar5212_beacon.o \
230         ${OBJDIR}/ar5212_eeprom.o ${OBJDIR}/ar5212_gpio.o \
231         ${OBJDIR}/ar5212_interrupts.o ${OBJDIR}/ar5212_keycache.o \
232         ${OBJDIR}/ar5212_misc.o ${OBJDIR}/ar5212_power.o \
233         ${OBJDIR}/ar5212_phy.o ${OBJDIR}/ar5212_recv.o \
234         ${OBJDIR}/ar5212_reset.o ${OBJDIR}/ar5212_xmit.o \
235         ${OBJDIR}/ar5212_ani.o
236 endif
238 ifeq ($(strip ${AH_SUPPORT_AR5312}),1)
239 AR5312= ${HAL}/ar5312
240 HAL_SRCS+=${AR5312}/ar5312_attach.c ${AR5312}/ar5312_interrupts.c \
241         ${AR5312}/ar5312_eeprom.c \
242         ${AR5312}/ar5312_gpio.c ${AR5312}/ar5315_gpio.c \
243         ${AR5312}/ar5312_misc.c ${AR5312}/ar5312_power.c \
244         ${AR5312}/ar5312_reset.c
245 HAL_OBJS+=${OBJDIR}/ar5312_attach.o ${OBJDIR}/ar5312_interrupts.o \
246         ${OBJDIR}/ar5312_eeprom.o \
247         ${OBJDIR}/ar5312_gpio.o ${OBJDIR}/ar5315_gpio.o \
248         ${OBJDIR}/ar5312_misc.o ${OBJDIR}/ar5312_power.o \
249         ${OBJDIR}/ar5312_reset.o
250 endif
252 ifeq ($(strip ${AH_SUPPORT_AR5416}),1)
253 AR5416= ${HAL}/ar5416
254 HAL_SRCS+=${AR5416}/ar5416_attach.c ${AR5416}/ar5416_beacon.c \
255         ${AR5416}/ar5416_eeprom.c ${AR5416}/ar5416_gpio.c \
256         ${AR5416}/ar5416_interrupts.c ${AR5416}/ar5416_keycache.c \
257         ${AR5416}/ar5416_misc.c ${AR5416}/ar5416_power.c \
258         ${AR5416}/ar5416_phy.c ${AR5416}/ar5416_recv.c \
259         ${AR5416}/ar5416_reset.c ${AR5416}/ar5416_xmit.c
260 HAL_OBJS+=${OBJDIR}/ar5416_attach.o ${OBJDIR}/ar5416_beacon.o \
261         ${OBJDIR}/ar5416_eeprom.o ${OBJDIR}/ar5416_gpio.o \
262         ${OBJDIR}/ar5416_interrupts.o ${OBJDIR}/ar5416_keycache.o \
263         ${OBJDIR}/ar5416_misc.o ${OBJDIR}/ar5416_power.o \
264         ${OBJDIR}/ar5416_phy.o ${OBJDIR}/ar5416_recv.o \
265         ${OBJDIR}/ar5416_reset.o ${OBJDIR}/ar5416_xmit.o
266 endif
268 ifeq ($(strip ${AH_SUPPORT_AR9160}),1)
269 HAL_SRCS+=${AR5416}/ar9160_attach.c
270 HAL_OBJS+=${OBJDIR}/ar9160_attach.o
271 endif
273 ifeq ($(strip ${AH_SUPPORT_2316}),1)
274 HAL_SRCS+=${AR5212}/ar2316.c
275 HAL_OBJS+=${OBJDIR}/ar2316.o
276 endif
278 ifeq ($(strip ${AH_SUPPORT_2317}),1)
279 HAL_SRCS+=${AR5212}/ar2317.c
280 HAL_OBJS+=${OBJDIR}/ar2317.o
281 endif
283 ifeq ($(strip ${AH_SUPPORT_2133}),1)
284 HAL_SRCS+=${AR5416}/ar2133.c
285 HAL_OBJS+=${OBJDIR}/ar2133.o
286 endif
288 ifeq ($(strip ${AH_SUPPORT_2413}),1)
289 HAL_SRCS+=${AR5212}/ar2413.c
290 HAL_OBJS+=${OBJDIR}/ar2413.o
291 endif
293 ifeq ($(strip ${AH_SUPPORT_2425}),1)
294 HAL_SRCS+=${AR5212}/ar2425.c
295 HAL_OBJS+=${OBJDIR}/ar2425.o
296 endif
298 ifeq ($(strip ${AH_SUPPORT_5111}),1)
299 HAL_SRCS+=${AR5212}/ar5111.c
300 HAL_OBJS+=${OBJDIR}/ar5111.o
301 endif
303 ifeq ($(strip ${AH_SUPPORT_5112}),1)
304 HAL_SRCS+=${AR5212}/ar5112.c
305 HAL_OBJS+=${OBJDIR}/ar5112.o
306 endif
308 ifeq ($(strip ${AH_SUPPORT_5413}),1)
309 HAL_SRCS+=${AR5212}/ar5413.c
310 HAL_OBJS+=${OBJDIR}/ar5413.o
311 endif
313 SRCS+=  ${HAL_SRCS}
314 CLEANFILES+= ${OBJDIR}/opt_ah.h ${HAL_OBJS}
317 # NB: These are typically overridden in the target-specific specification.
319 LD?=    ld
321 # These are specific to the host doing the build.
323 SED?=   sed
324 UUENCODE?=uuencode
326 ALL=    ${OBJDIR}/hal.o
328 all:    ${ALL}
331 # ARM binaries need their ELF header patched so they are marked
332 # as using "virtual floating point"; otherwise the resulting .o
333 # files will generate linker errors because they are marked as
334 # using hardware floating point.
336 ifneq (,$(findstring arm-elf,${TOOLPREFIX}))
337 ${OBJDIR}/hal.o: ${HAL_OBJS} Makefile wackelf
338         ${LD} -o $@ -r ${LDOPTS} ${HAL_OBJS}
339         ./wackelf $@
341 # NB: use host tools; not cross-compilation tools
342 wackelf: ${PUBLIC}/wackelf.c
343         cc -o wackelf ${PUBLIC}/wackelf.c
345 CLEANFILES+= wackelf
346 else
347 ${OBJDIR}/hal.o: ${HAL_OBJS} Makefile
348         ${LD} -o $@ -r ${LDOPTS} ${HAL_OBJS}
349 endif
351 release: ${OBJDIR}/hal.o
352         rm -f ${PUBLIC}/${TARGET}.hal.o.uu
353         (${SED} -e '1,/^$$/d' ${HAL}/COPYRIGHT; \
354          ${SED} -n -e '/ATH_HAL_VERSION/p' ${HAL}/version.h; \
355          ${UUENCODE} ${OBJDIR}/hal.o hal.o) > ${PUBLIC}/${TARGET}.hal.o.uu
356         cmp -s ${OBJDIR}/opt_ah.h ${PUBLIC}/${TARGET}.opt_ah.h || \
357             cp ${OBJDIR}/opt_ah.h ${PUBLIC}/${TARGET}.opt_ah.h
359 debug: ${OBJDIR}/hal.o
360         rm -f ${DEBUG}/${TARGET}.hal.o.uu
361         (${SED} -e '1,/^$$/d' ${HAL}/COPYRIGHT; \
362          ${SED} -n -e '/ATH_HAL_VERSION/p' ${HAL}/version.h; \
363          ${UUENCODE} ${OBJDIR}/hal.o hal.o) > ${DEBUG}/${TARGET}.hal.o.uu
364         cmp -s ${OBJDIR}/opt_ah.h ${DEBUG}/${TARGET}.opt_ah.h || \
365             cp ${OBJDIR}/opt_ah.h ${DEBUG}/${TARGET}.opt_ah.h
367 ${OBJDIR}/ah.o: ${HAL}/ah.c
368         ${CC} -c -o $@ ${CFLAGS} $<
369 ${OBJDIR}/ah_eeprom_v3.o:       ${HAL}/ah_eeprom_v3.c
370         ${CC} -c -o $@ ${CFLAGS} $<
371 ${OBJDIR}/ah_eeprom_v14.o:      ${HAL}/ah_eeprom_v14.c
372         ${CC} -c -o $@ ${CFLAGS} $<
373 ${OBJDIR}/ah_regdomain.o:       ${HAL}/ah_regdomain.c
374         ${CC} -c -o $@ ${CFLAGS} $<
376 ${OBJDIR}/ar5210_attach.o: ${AR5210}/ar5210_attach.c
377         ${CC} -c -o $@ ${CFLAGS} $<
378 ${OBJDIR}/ar5210_beacon.o: ${AR5210}/ar5210_beacon.c
379         ${CC} -c -o $@ ${CFLAGS} $<
380 ${OBJDIR}/ar5210_interrupts.o: ${AR5210}/ar5210_interrupts.c
381         ${CC} -c -o $@ ${CFLAGS} $<
382 ${OBJDIR}/ar5210_keycache.o: ${AR5210}/ar5210_keycache.c
383         ${CC} -c -o $@ ${CFLAGS} $<
384 ${OBJDIR}/ar5210_misc.o:        ${AR5210}/ar5210_misc.c
385         ${CC} -c -o $@ ${CFLAGS} $<
386 ${OBJDIR}/ar5210_power.o:       ${AR5210}/ar5210_power.c
387         ${CC} -c -o $@ ${CFLAGS} $<
388 ${OBJDIR}/ar5210_phy.o: ${AR5210}/ar5210_phy.c
389         ${CC} -c -o $@ ${CFLAGS} $<
390 ${OBJDIR}/ar5210_recv.o:        ${AR5210}/ar5210_recv.c
391         ${CC} -c -o $@ ${CFLAGS} $<
392 ${OBJDIR}/ar5210_reset.o:       ${AR5210}/ar5210_reset.c
393         ${CC} -c -o $@ ${CFLAGS} $<
394 ${OBJDIR}/ar5210_xmit.o:        ${AR5210}/ar5210_xmit.c
395         ${CC} -c -o $@ ${CFLAGS} $<
397 ${OBJDIR}/ar5211_attach.o: ${AR5211}/ar5211_attach.c
398         ${CC} -c -o $@ ${CFLAGS} $<
399 ${OBJDIR}/ar5211_beacon.o: ${AR5211}/ar5211_beacon.c
400         ${CC} -c -o $@ ${CFLAGS} $<
401 ${OBJDIR}/ar5211_interrupts.o: ${AR5211}/ar5211_interrupts.c
402         ${CC} -c -o $@ ${CFLAGS} $<
403 ${OBJDIR}/ar5211_keycache.o: ${AR5211}/ar5211_keycache.c
404         ${CC} -c -o $@ ${CFLAGS} $<
405 ${OBJDIR}/ar5211_misc.o:        ${AR5211}/ar5211_misc.c
406         ${CC} -c -o $@ ${CFLAGS} $<
407 ${OBJDIR}/ar5211_power.o:       ${AR5211}/ar5211_power.c
408         ${CC} -c -o $@ ${CFLAGS} $<
409 ${OBJDIR}/ar5211_phy.o: ${AR5211}/ar5211_phy.c
410         ${CC} -c -o $@ ${CFLAGS} $<
411 ${OBJDIR}/ar5211_recv.o:        ${AR5211}/ar5211_recv.c
412         ${CC} -c -o $@ ${CFLAGS} $<
413 ${OBJDIR}/ar5211_reset.o:       ${AR5211}/ar5211_reset.c
414         ${CC} -c -o $@ ${CFLAGS} $<
415 ${OBJDIR}/ar5211_xmit.o:        ${AR5211}/ar5211_xmit.c
416         ${CC} -c -o $@ ${CFLAGS} $<
418 ${OBJDIR}/ar5212_ani.o: ${AR5212}/ar5212_ani.c
419         ${CC} -c -o $@ ${CFLAGS} $<
420 ${OBJDIR}/ar5212_attach.o: ${AR5212}/ar5212_attach.c
421         ${CC} -c -o $@ ${CFLAGS} $<
422 ${OBJDIR}/ar5212_beacon.o: ${AR5212}/ar5212_beacon.c
423         ${CC} -c -o $@ ${CFLAGS} $<
424 ${OBJDIR}/ar5212_eeprom.o: ${AR5212}/ar5212_eeprom.c
425         ${CC} -c -o $@ ${CFLAGS} $<
426 ${OBJDIR}/ar5212_gpio.o: ${AR5212}/ar5212_gpio.c
427         ${CC} -c -o $@ ${CFLAGS} $<
428 ${OBJDIR}/ar5212_interrupts.o: ${AR5212}/ar5212_interrupts.c
429         ${CC} -c -o $@ ${CFLAGS} $<
430 ${OBJDIR}/ar5212_keycache.o: ${AR5212}/ar5212_keycache.c
431         ${CC} -c -o $@ ${CFLAGS} $<
432 ${OBJDIR}/ar5212_misc.o:        ${AR5212}/ar5212_misc.c
433         ${CC} -c -o $@ ${CFLAGS} $<
434 ${OBJDIR}/ar5212_power.o:       ${AR5212}/ar5212_power.c
435         ${CC} -c -o $@ ${CFLAGS} $<
436 ${OBJDIR}/ar5212_phy.o: ${AR5212}/ar5212_phy.c
437         ${CC} -c -o $@ ${CFLAGS} $<
438 ${OBJDIR}/ar5212_recv.o:        ${AR5212}/ar5212_recv.c
439         ${CC} -c -o $@ ${CFLAGS} $<
440 ${OBJDIR}/ar5212_reset.o:       ${AR5212}/ar5212_reset.c
441         ${CC} -c -o $@ ${CFLAGS} $<
442 ${OBJDIR}/ar5212_xmit.o:        ${AR5212}/ar5212_xmit.c
443         ${CC} -c -o $@ ${CFLAGS} $<
445 ${OBJDIR}/ar5312_attach.o: ${AR5312}/ar5312_attach.c
446         ${CC} -c -o $@ ${CFLAGS} $<
447 ${OBJDIR}/ar5312_eeprom.o: ${AR5312}/ar5312_eeprom.c
448         ${CC} -c -o $@ ${CFLAGS} $<
449 ${OBJDIR}/ar5312_gpio.o: ${AR5312}/ar5312_gpio.c
450         ${CC} -c -o $@ ${CFLAGS} $<
451 ${OBJDIR}/ar5315_gpio.o: ${AR5312}/ar5315_gpio.c
452         ${CC} -c -o $@ ${CFLAGS} $<
453 ${OBJDIR}/ar5312_interrupts.o: ${AR5312}/ar5312_interrupts.c
454         ${CC} -c -o $@ ${CFLAGS} $<
455 ${OBJDIR}/ar5312_misc.o:        ${AR5312}/ar5312_misc.c
456         ${CC} -c -o $@ ${CFLAGS} $<
457 ${OBJDIR}/ar5312_power.o: ${AR5312}/ar5312_power.c
458         ${CC} -c -o $@ ${CFLAGS} $<
459 ${OBJDIR}/ar5312_reset.o:       ${AR5312}/ar5312_reset.c
460         ${CC} -c -o $@ ${CFLAGS} $<
462 ${OBJDIR}/ar2316.o: ${AR5212}/ar2316.c
463         ${CC} -c -o $@ ${CFLAGS} $<
464 ${OBJDIR}/ar2317.o: ${AR5212}/ar2317.c
465         ${CC} -c -o $@ ${CFLAGS} $<
466 ${OBJDIR}/ar2413.o: ${AR5212}/ar2413.c
467         ${CC} -c -o $@ ${CFLAGS} $<
468 ${OBJDIR}/ar2425.o: ${AR5212}/ar2425.c
469         ${CC} -c -o $@ ${CFLAGS} $<
470 ${OBJDIR}/ar5111.o: ${AR5212}/ar5111.c
471         ${CC} -c -o $@ ${CFLAGS} $<
472 ${OBJDIR}/ar5112.o: ${AR5212}/ar5112.c
473         ${CC} -c -o $@ ${CFLAGS} $<
474 ${OBJDIR}/ar5413.o: ${AR5212}/ar5413.c
475         ${CC} -c -o $@ ${CFLAGS} $<
477 ${OBJDIR}/ar5416_attach.o: ${AR5416}/ar5416_attach.c
478         ${CC} -c -o $@ ${CFLAGS} $<
479 ${OBJDIR}/ar5416_beacon.o: ${AR5416}/ar5416_beacon.c
480         ${CC} -c -o $@ ${CFLAGS} $<
481 ${OBJDIR}/ar5416_eeprom.o: ${AR5416}/ar5416_eeprom.c
482         ${CC} -c -o $@ ${CFLAGS} $<
483 ${OBJDIR}/ar5416_gpio.o: ${AR5416}/ar5416_gpio.c
484         ${CC} -c -o $@ ${CFLAGS} $<
485 ${OBJDIR}/ar5416_interrupts.o: ${AR5416}/ar5416_interrupts.c
486         ${CC} -c -o $@ ${CFLAGS} $<
487 ${OBJDIR}/ar5416_keycache.o: ${AR5416}/ar5416_keycache.c
488         ${CC} -c -o $@ ${CFLAGS} $<
489 ${OBJDIR}/ar5416_misc.o:        ${AR5416}/ar5416_misc.c
490         ${CC} -c -o $@ ${CFLAGS} $<
491 ${OBJDIR}/ar5416_power.o:       ${AR5416}/ar5416_power.c
492         ${CC} -c -o $@ ${CFLAGS} $<
493 ${OBJDIR}/ar5416_phy.o: ${AR5416}/ar5416_phy.c
494         ${CC} -c -o $@ ${CFLAGS} $<
495 ${OBJDIR}/ar5416_recv.o:        ${AR5416}/ar5416_recv.c
496         ${CC} -c -o $@ ${CFLAGS} $<
497 ${OBJDIR}/ar5416_reset.o:       ${AR5416}/ar5416_reset.c
498         ${CC} -c -o $@ ${CFLAGS} $<
499 ${OBJDIR}/ar5416_xmit.o:        ${AR5416}/ar5416_xmit.c
500         ${CC} -c -o $@ ${CFLAGS} $<
502 ${OBJDIR}/ar9160_attach.o: ${AR5416}/ar9160_attach.c
503         ${CC} -c -o $@ ${CFLAGS} $<
505 ${OBJDIR}/ar2133.o: ${AR5416}/ar2133.c
506         ${CC} -c -o $@ ${CFLAGS} $<
508 ${OBJDIR}/opt_ah.h:
509         test -d ${OBJDIR} || mkdir -p ${OBJDIR}
510 ifeq ($(strip ${AH_SUPPORT_AR5210}),1)
511         echo "#define AH_SUPPORT_AR5210 1"      >> ${OBJDIR}/opt_ah.h
512 endif
513 ifeq ($(strip ${AH_SUPPORT_AR5211}),1)
514         echo "#define AH_SUPPORT_AR5211 1"      >> ${OBJDIR}/opt_ah.h
515 endif
516 ifeq ($(strip ${AH_SUPPORT_AR5212}),1)
517         echo "#define AH_SUPPORT_AR5212 1"      >> ${OBJDIR}/opt_ah.h
518 endif
519 ifeq ($(strip ${AH_SUPPORT_AR5312}),1)
520         echo "#define AH_SUPPORT_AR5312 1"      >> ${OBJDIR}/opt_ah.h
521 endif
522 ifeq ($(strip ${AH_SUPPORT_AR5416}),1)
523         echo "#define AH_SUPPORT_AR5416 1"      >> ${OBJDIR}/opt_ah.h
524 endif
525 ifeq ($(strip ${AH_SUPPORT_AR9160}),1)
526         echo "#define AH_SUPPORT_AR9160 1"      >> ${OBJDIR}/opt_ah.h
527 endif
528 ifeq ($(strip ${AH_SUPPORT_2316}),1)
529         echo "#define AH_SUPPORT_2316   1"      >> ${OBJDIR}/opt_ah.h
530 endif
531 ifeq ($(strip ${AH_SUPPORT_2317}),1)
532         echo "#define AH_SUPPORT_2317   1"      >> ${OBJDIR}/opt_ah.h
533 endif
534 ifeq ($(strip ${AH_SUPPORT_2133}),1)
535         echo "#define AH_SUPPORT_2133   1"      >> ${OBJDIR}/opt_ah.h
536 endif
537 ifeq ($(strip ${AH_SUPPORT_2413}),1)
538         echo "#define AH_SUPPORT_2413   1"      >> ${OBJDIR}/opt_ah.h
539 endif
540 ifeq ($(strip ${AH_SUPPORT_2417}),1)
541         echo "#define AH_SUPPORT_2417   1"      >> ${OBJDIR}/opt_ah.h
542 endif
543 ifeq ($(strip ${AH_SUPPORT_2425}),1)
544         echo "#define AH_SUPPORT_2425   1"      >> ${OBJDIR}/opt_ah.h
545 endif
546 ifeq ($(strip ${AH_SUPPORT_5111}),1)
547         echo "#define AH_SUPPORT_5111   1"      >> ${OBJDIR}/opt_ah.h
548 endif
549 ifeq ($(strip ${AH_SUPPORT_5112}),1)
550         echo "#define AH_SUPPORT_5112   1"      >> ${OBJDIR}/opt_ah.h
551 endif
552 ifeq ($(strip ${AH_SUPPORT_5413}),1)
553         echo "#define AH_SUPPORT_5413   1"      >> ${OBJDIR}/opt_ah.h
554 endif
555 ifeq ($(strip ${AH_ASSERT}),1)
556         echo "#define AH_ASSERT 1"              >> ${OBJDIR}/opt_ah.h
557 endif
558 ifeq ($(strip ${AH_DEBUG_ALQ}),1)
559         echo "#define AH_DEBUG_ALQ 1"           >> ${OBJDIR}/opt_ah.h
560 endif
561 ifeq ($(strip ${AH_DEBUG}),1)
562         echo "#define AH_DEBUG  1"              >> ${OBJDIR}/opt_ah.h
563 endif
564 ifeq ($(strip ${AH_WRITE_REGDOMAIN}),1)
565         echo "#define AH_SUPPORT_WRITE_REGDOMAIN 1" >>${OBJDIR}/opt_ah.h
566         echo "#define AH_SUPPORT_WRITE_EEPROM 1">>${OBJDIR}/opt_ah.h
567 else
568 ifeq ($(strip ${AH_WRITE_EEPROM}),1)
569         echo "#define AH_SUPPORT_WRITE_EEPROM 1">>${OBJDIR}/opt_ah.h
570 endif
571 endif
572 ifeq ($(strip ${AH_DEBUG_COUNTRY}),1)
573         echo "#define AH_DEBUG_COUNTRY 1"       >>${OBJDIR}/opt_ah.h
574 endif
575 ifeq ($(strip ${AH_REGOPS_FUNC}),1)
576         echo "#define AH_REGOPS_FUNC 1"         >>${OBJDIR}/opt_ah.h
577 endif
578 ifeq ($(strip ${AH_DISABLE_WME}),1)
579         echo "#define AH_DISABLE_WME 1"         >>${OBJDIR}/opt_ah.h
580 endif
581 ifeq ($(strip ${AH_ENABLE_AP_SUPPORT}),1)
582         echo "#define AH_ENABLE_AP_SUPPORT 1"   >>${OBJDIR}/opt_ah.h
583 endif
584 ifeq ($(strip ${AH_PRIVATE_DIAG}),1)
585         echo "#define AH_PRIVATE_DIAG 1"        >>${OBJDIR}/opt_ah.h
586 endif
587 ifeq ($(strip ${AH_NEED_DESC_SWAP}),1)
588         echo "#define AH_NEED_DESC_SWAP 1"      >>${OBJDIR}/opt_ah.h
589 endif
590 ifeq ($(strip ${AH_ENABLE_FORCEBIAS}),1)
591         echo "#define AH_ENABLE_FORCEBIAS       1"      >>${OBJDIR}/opt_ah.h
592 endif
594 clean:
595         rm -f ${ALL} ${OBJS} ${CLEANFILES}
596         -rmdir -p ${OBJDIR}
598 depend: beforedepend .depend afterdepend
599 ${OBJDIR}/.depend: ${SRCS} ${OBJDIR}/opt_ah.h
600         rm -f ${OBJDIR}/.depend
601         ${CC} -M ${CFLAGS} ${SRCS} | \
602                 ${SED} 's,\(.*\)\.o:,${OBJDIR}/\1.o:,g' > ${OBJDIR}/.depend
603 afterdepend:
604 -include ${OBJDIR}/.depend