Check for SYS/GL during library init. Reason is that
[AROS.git] / workbench / devs / networks / atheros5000 / hal / amigaos / makefile
blob60a0a0d37dd64d5a46ce712205b9dc378150204d
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 DEPTH= ..
22 # Makefile for building the Atheros/MADWIFI HAL from source code with gmake
24 HAL= ${DEPTH}
25 PUBLIC= ${HAL}/public
26 #DEBUG_OPTS=AH_DEBUG=1 AH_ASSERT=1
29 ifdef TARGET
30 ALL= ${TARGET}
31 else
32 ALL= i386-elf \
33 x86_64-elf \
34 alpha-elf \
35 arm-elf \
36 mipsisa32-be-elf mips3-elf mips2-elf mips1-elf \
37 powerpc-eabi powerpc-elf \
38 sh4-elf sparc-elf soc
39 endif
42 #all: ${ALL}
43 all: powerpc-be-elf
45 release:
46 for i in ${ALL}; do \
47 ${MAKE} $$i-release; \
48 done
50 debug:
51 for i in ${ALL}; do \
52 ${MAKE} $$i-debug; \
53 done
55 clean:
56 for i in ${ALL}; do \
57 ${MAKE} $$i-clean; \
58 done
61 # XXX someone with some gmake foo should be able to do this right...
63 i386-elf: ${PUBLIC}/i386-elf.inc
64 ${MAKE} -f Makefile.inc TARGET=i386-elf
65 i386-elf-release:
66 ${MAKE} -f Makefile.inc TARGET=i386-elf release
67 i386-elf-debug:
68 ${MAKE} -f Makefile.inc TARGET=i386-elf ${DEBUG_OPTS} debug
69 i386-elf-clean:
70 ${MAKE} -f Makefile.inc TARGET=i386-elf clean
72 x86_64-elf: ${PUBLIC}/x86_64-elf.inc
73 ${MAKE} -f Makefile.inc TARGET=x86_64-elf
74 x86_64-elf-release:
75 ${MAKE} -f Makefile.inc TARGET=x86_64-elf release
76 x86_64-elf-debug:
77 ${MAKE} -f Makefile.inc TARGET=x86_64-elf ${DEBUG_OPTS} debug
78 x86_64-elf-clean:
79 ${MAKE} -f Makefile.inc TARGET=x86_64-elf clean
81 alpha-elf: ${PUBLIC}/alpha-elf.inc
82 ${MAKE} -f Makefile.inc TARGET=alpha-elf
83 alpha-elf-release:
84 ${MAKE} -f Makefile.inc TARGET=alpha-elf release
85 alpha-elf-debug:
86 ${MAKE} -f Makefile.inc TARGET=alpha-elf ${DEBUG_OPTS} debug
87 alpha-elf-clean:
88 ${MAKE} -f Makefile.inc TARGET=alpha-elf clean
90 arm-elf: armv4-be-elf armv4-le-elf arm9-le-thumb-elf xscale-elf
91 arm-elf-release: armv4-be-elf-release armv4-le-elf-release \
92 arm9-le-thumb-elf-release xscale-elf-release
93 arm-elf-debug: armv4-be-elf-debug armv4-le-elf-debug \
94 arm9-le-thumb-elf-debug xscale-elf-debug
95 arm-elf-clean: armv4-be-elf-clean armv4-le-elf-clean \
96 arm9-le-thumb-elf-clean xscale-elf-clean
98 armv4-be-elf: ${PUBLIC}/armv4-be-elf.inc
99 ${MAKE} -f Makefile.inc TARGET=armv4-be-elf
100 armv4-be-elf-release:
101 ${MAKE} -f Makefile.inc TARGET=armv4-be-elf release
102 armv4-be-elf-debug:
103 ${MAKE} -f Makefile.inc TARGET=armv4-be-elf ${DEBUG_OPTS} debug
104 armv4-be-elf-clean:
105 ${MAKE} -f Makefile.inc TARGET=armv4-be-elf clean
106 armv4-le-elf: ${PUBLIC}/armv4-le-elf.inc
107 ${MAKE} -f Makefile.inc TARGET=armv4-le-elf
108 armv4-le-elf-release:
109 ${MAKE} -f Makefile.inc TARGET=armv4-le-elf release
110 armv4-le-elf-debug:
111 ${MAKE} -f Makefile.inc TARGET=armv4-le-elf ${DEBUG_OPTS} debug
112 armv4-le-elf-clean:
113 ${MAKE} -f Makefile.inc TARGET=armv4-le-elf clean
114 arm9-le-thumb-elf: ${PUBLIC}/arm9-le-thumb-elf.inc
115 ${MAKE} -f Makefile.inc TARGET=arm9-le-thumb-elf
116 arm9-le-thumb-elf-release:
117 ${MAKE} -f Makefile.inc TARGET=arm9-le-thumb-elf release
118 arm9-le-thumb-elf-debug:
119 ${MAKE} -f Makefile.inc TARGET=arm9-le-thumb-elf ${DEBUG_OPTS} debug
120 arm9-le-thumb-elf-clean:
121 ${MAKE} -f Makefile.inc TARGET=arm9-le-thumb-elf clean
123 xscale-elf: xscale-be-elf xscale-le-elf
124 xscale-elf-release: xscale-be-elf-release xscale-le-elf-release
125 xscale-elf-debug: xscale-be-elf-debug xscale-le-elf-debug
126 xscale-elf-clean: xscale-be-elf-clean xscale-le-elf-clean
128 xscale-be-elf: ${PUBLIC}/xscale-be-elf.inc
129 ${MAKE} -f Makefile.inc TARGET=xscale-be-elf
130 xscale-be-elf-release:
131 ${MAKE} -f Makefile.inc TARGET=xscale-be-elf release
132 xscale-be-elf-debug:
133 ${MAKE} -f Makefile.inc TARGET=xscale-be-elf ${DEBUG_OPTS} debug
134 xscale-be-elf-clean:
135 ${MAKE} -f Makefile.inc TARGET=xscale-be-elf clean
136 xscale-le-elf: ${PUBLIC}/xscale-le-elf.inc
137 ${MAKE} -f Makefile.inc TARGET=xscale-le-elf
138 xscale-le-elf-release:
139 ${MAKE} -f Makefile.inc TARGET=xscale-le-elf release
140 xscale-le-elf-debug:
141 ${MAKE} -f Makefile.inc TARGET=xscale-le-elf ${DEBUG_OPTS} debug
142 xscale-le-elf-clean:
143 ${MAKE} -f Makefile.inc TARGET=xscale-le-elf clean
145 mipsisa32-be-elf: mips3-be-elf
146 mipsisa32-be-elf-release: mips3-be-elf-release
147 mipsisa32-be-elf-debug: mips3-be-elf-debug
148 mipsisa32-be-elf-clean: mips3-be-elf-clean
150 mips3-elf: mips3-be-elf mips3-le-elf
151 mips3-elf-release: mips3-be-elf-release mips3-le-elf-release
152 mips3-elf-debug: mips3-be-elf-debug mips3-le-elf-debug
153 mips3-elf-clean: mips3-be-elf-clean mips3-le-elf-clean
155 # NB: the .inc file naming is historical and needs changing
156 mips3-be-elf: ${PUBLIC}/mipsisa32-be-elf.inc
157 ${MAKE} -f Makefile.inc TARGET=mipsisa32-be-elf
158 mips3-be-elf-release:
159 ${MAKE} -f Makefile.inc TARGET=mipsisa32-be-elf release
160 mips3-be-elf-debug:
161 ${MAKE} -f Makefile.inc TARGET=mipsisa32-be-elf ${DEBUG_OPTS} debug
162 mips3-be-elf-clean:
163 ${MAKE} -f Makefile.inc TARGET=mipsisa32-be-elf clean
165 mips3-le-elf: ${PUBLIC}/mipsisa32-le-elf.inc
166 ${MAKE} -f Makefile.inc TARGET=mipsisa32-le-elf
167 mips3-le-elf-release:
168 ${MAKE} -f Makefile.inc TARGET=mipsisa32-le-elf release
169 mips3-le-elf-debug:
170 ${MAKE} -f Makefile.inc TARGET=mipsisa32-le-elf ${DEBUG_OPTS} debug
171 mips3-le-elf-clean:
172 ${MAKE} -f Makefile.inc TARGET=mipsisa32-le-elf clean
174 # NB: the .inc file naming is historical and needs changing
175 mips2-elf: mips2-be-elf mips2-le-elf
176 mips2-elf-release: mips2-be-elf-release mips2-le-elf-release
177 mips2-elf-debug: mips2-be-elf-debug mips2-le-elf-debug
178 mips2-elf-clean: mips2-be-elf-clean mips2-le-elf-clean
180 mips2-be-elf: ${PUBLIC}/mips-be-elf.inc
181 ${MAKE} -f Makefile.inc TARGET=mips-be-elf
182 mips2-be-elf-release:
183 ${MAKE} -f Makefile.inc TARGET=mips-be-elf release
184 mips2-be-elf-debug:
185 ${MAKE} -f Makefile.inc TARGET=mips-be-elf ${DEBUG_OPTS} debug
186 mips2-be-elf-clean:
187 ${MAKE} -f Makefile.inc TARGET=mips-be-elf clean
189 mips2-le-elf: ${PUBLIC}/mips-le-elf.inc
190 ${MAKE} -f Makefile.inc TARGET=mips-le-elf
191 mips2-le-elf-release:
192 ${MAKE} -f Makefile.inc TARGET=mips-le-elf release
193 mips2-le-elf-debug:
194 ${MAKE} -f Makefile.inc TARGET=mips-le-elf ${DEBUG_OPTS} debug
195 mips2-le-elf-clean:
196 ${MAKE} -f Makefile.inc TARGET=mips-le-elf clean
198 mips1-elf: mips1-be-elf mips1-le-elf
199 mips1-elf-release: mips1-be-elf-release mips1-le-elf-release
200 mips1-elf-debug: mips1-be-elf-debug mips1-le-elf-debug
201 mips1-elf-clean: mips1-be-elf-clean mips1-le-elf-clean
203 mips1-be-elf: ${PUBLIC}/mips1-be-elf.inc
204 ${MAKE} -f Makefile.inc TARGET=mips1-be-elf
205 mips1-be-elf-release:
206 ${MAKE} -f Makefile.inc TARGET=mips1-be-elf release
207 mips1-be-elf-debug:
208 ${MAKE} -f Makefile.inc TARGET=mips1-be-elf ${DEBUG_OPTS} debug
209 mips1-be-elf-clean:
210 ${MAKE} -f Makefile.inc TARGET=mips1-be-elf clean
212 mips1-le-elf: ${PUBLIC}/mips1-le-elf.inc
213 ${MAKE} -f Makefile.inc TARGET=mips1-le-elf
214 mips1-le-elf-release:
215 ${MAKE} -f Makefile.inc TARGET=mips1-le-elf release
216 mips1-le-elf-debug:
217 ${MAKE} -f Makefile.inc TARGET=mips1-le-elf ${DEBUG_OPTS} debug
218 mips1-le-elf-clean:
219 ${MAKE} -f Makefile.inc TARGET=mips1-le-elf clean
221 powerpc-eabi: powerpc-be-eabi powerpc-le-eabi
222 powerpc-eabi-release: powerpc-be-eabi-release powerpc-le-eabi-release
223 powerpc-eabi-debug: powerpc-be-eabi-debug powerpc-le-eabi-debug
224 powerpc-eabi-clean: powerpc-be-eabi-clean powerpc-le-eabi-clean
226 powerpc-be-eabi: ${PUBLIC}/powerpc-be-eabi.inc
227 ${MAKE} -f Makefile.inc TARGET=powerpc-be-eabi
228 powerpc-be-eabi-release:
229 ${MAKE} -f Makefile.inc TARGET=powerpc-be-eabi release
230 powerpc-be-eabi-debug:
231 ${MAKE} -f Makefile.inc TARGET=powerpc-be-eabi ${DEBUG_OPTS} debug
232 powerpc-be-eabi-clean:
233 ${MAKE} -f Makefile.inc TARGET=powerpc-be-eabi clean
234 powerpc-le-eabi: ${PUBLIC}/powerpc-le-eabi.inc
235 ${MAKE} -f Makefile.inc TARGET=powerpc-le-eabi
236 powerpc-le-eabi-release:
237 ${MAKE} -f Makefile.inc TARGET=powerpc-le-eabi release
238 powerpc-le-eabi-debug:
239 ${MAKE} -f Makefile.inc TARGET=powerpc-le-eabi ${DEBUG_OPTS} debug
240 powerpc-le-eabi-clean:
241 ${MAKE} -f Makefile.inc TARGET=powerpc-le-eabi clean
243 powerpc-elf: powerpc-be-elf
244 powerpc-elf-release: powerpc-be-elf-release
245 powerpc-elf-debug: powerpc-be-elf-debug
246 powerpc-elf-clean: powerpc-be-elf-clean
248 powerpc-be-elf: ${PUBLIC}/powerpc-be-elf.inc
249 ${MAKE} -f Makefile.inc TARGET=powerpc-be-elf
250 powerpc-be-elf-release:
251 ${MAKE} -f Makefile.inc TARGET=powerpc-be-elf release
252 powerpc-be-elf-debug:
253 ${MAKE} -f Makefile.inc TARGET=powerpc-be-elf ${DEBUG_OPTS} debug
254 powerpc-be-elf-clean:
255 ${MAKE} -f Makefile.inc TARGET=powerpc-be-elf clean
257 sh4-elf: sh4-le-elf
258 sh4-elf-release: sh4-le-elf-release
259 sh4-elf-debug: sh4-le-elf-debug
260 sh4-elf-clean: sh4-le-elf-clean
262 sh4-le-elf: ${PUBLIC}/sh4-le-elf.inc
263 ${MAKE} -f Makefile.inc TARGET=sh4-le-elf
264 sh4-le-elf-release:
265 ${MAKE} -f Makefile.inc TARGET=sh4-le-elf release
266 sh4-le-elf-debug:
267 ${MAKE} -f Makefile.inc TARGET=sh4-le-elf ${DEBUG_OPTS} debug
268 sh4-le-elf-clean:
269 ${MAKE} -f Makefile.inc TARGET=sh4-le-elf clean
271 sparc-elf: sparc64-be-elf sparc-be-elf
272 sparc-elf-release: sparc64-be-elf-release sparc-be-elf-release
273 sparc-elf-debug: sparc64-be-elf-debug sparc-be-elf-debug
274 sparc-elf-clean: sparc64-be-elf-clean sparc-be-elf-clean
276 sparc64-be-elf: ${PUBLIC}/sparc64-be-elf.inc
277 ${MAKE} -f Makefile.inc TARGET=sparc64-be-elf
278 sparc64-be-elf-release:
279 ${MAKE} -f Makefile.inc TARGET=sparc64-be-elf release
280 sparc64-be-elf-debug:
281 ${MAKE} -f Makefile.inc TARGET=sparc64-be-elf ${DEBUG_OPTS} debug
282 sparc64-be-elf-clean:
283 ${MAKE} -f Makefile.inc TARGET=sparc64-be-elf clean
285 sparc-be-elf: ${PUBLIC}/sparc-be-elf.inc
286 ${MAKE} -f Makefile.inc TARGET=sparc-be-elf
287 sparc-be-elf-release:
288 ${MAKE} -f Makefile.inc TARGET=sparc-be-elf release
289 sparc-be-elf-debug:
290 ${MAKE} -f Makefile.inc TARGET=sparc-be-elf ${DEBUG_OPTS} debug
291 sparc-be-elf-clean:
292 ${MAKE} -f Makefile.inc TARGET=sparc-be-elf clean
295 # SoC builds
297 # Use the ap43 build for an ap48 board
299 soc: ap30 ap43 ap51 ap61 wisoc
300 soc-release: ap30-release ap43-release ap51-release ap61-release wisoc-release
301 soc-debug: ap30-debug ap43-debug ap51-debug ap61-debug wisoc-debug
302 soc-clean: ap30-clean ap43-clean ap51-clean ap61-clean wisoc-clean
304 ap30: ${PUBLIC}/ap30.inc
305 ${MAKE} -f Makefile.inc TARGET=ap30 \
306 AH_SUPPORT_AR5312=1 AH_NEED_DESC_SWAP=1
307 ap30-release: ${PUBLIC}/ap30.inc
308 ${MAKE} -f Makefile.inc TARGET=ap30 \
309 AH_SUPPORT_AR5312=1 AH_NEED_DESC_SWAP=1 release
310 ap30-debug: ${PUBLIC}/ap30.inc
311 ${MAKE} -f Makefile.inc TARGET=ap30 \
312 AH_SUPPORT_AR5312=1 AH_NEED_DESC_SWAP=1 ${DEBUG_OPTS} debug
313 ap30-clean:
314 ${MAKE} -f Makefile.inc TARGET=ap30 clean
316 ap43: ${PUBLIC}/ap43.inc
317 ${MAKE} -f Makefile.inc TARGET=ap43 AH_SUPPORT_AR5312=1
318 ap43-release: ${PUBLIC}/ap43.inc
319 ${MAKE} -f Makefile.inc TARGET=ap43 AH_SUPPORT_AR5312=1 release
320 ap43-debug: ${PUBLIC}/ap43.inc
321 ${MAKE} -f Makefile.inc TARGET=ap43 AH_SUPPORT_AR5312=1 ${DEBUG_OPTS} debug
322 ap43-clean:
323 ${MAKE} -f Makefile.inc TARGET=ap43 clean
325 ap51: ${PUBLIC}/ap51.inc
326 ${MAKE} -f Makefile.inc TARGET=ap51 \
327 AH_SUPPORT_2316=1 AH_SUPPORT_5111=0 AH_SUPPORT_5112=0 \
328 AH_SUPPORT_AR5312=1 AH_NEED_DESC_SWAP=1
329 ap51-release: ${PUBLIC}/ap51.inc
330 ${MAKE} -f Makefile.inc TARGET=ap51 \
331 AH_SUPPORT_2316=1 AH_SUPPORT_5111=0 AH_SUPPORT_5112=0 \
332 AH_SUPPORT_AR5312=1 AH_NEED_DESC_SWAP=1 release
333 ap51-debug: ${PUBLIC}/ap51.inc
334 ${MAKE} -f Makefile.inc TARGET=ap51 \
335 AH_SUPPORT_2316=1 AH_SUPPORT_5111=0 AH_SUPPORT_5112=0 \
336 AH_SUPPORT_AR5312=1 AH_NEED_DESC_SWAP=1 ${DEBUG_OPTS} debug
337 ap51-clean:
338 ${MAKE} -f Makefile.inc TARGET=ap51 clean
340 ap61: ${PUBLIC}/ap61.inc
341 ${MAKE} -f Makefile.inc TARGET=ap61 \
342 AH_SUPPORT_2317=1 AH_SUPPORT_5111=0 AH_SUPPORT_5112=0 \
343 AH_SUPPORT_AR5312=1
344 ap61-release: ${PUBLIC}/ap61.inc
345 ${MAKE} -f Makefile.inc TARGET=ap61 \
346 AH_SUPPORT_2317=1 AH_SUPPORT_5111=0 AH_SUPPORT_5112=0 \
347 AH_SUPPORT_AR5312=1 release
348 ap61-debug: ${PUBLIC}/ap61.inc
349 ${MAKE} -f Makefile.inc TARGET=ap61 \
350 AH_SUPPORT_2317=1 AH_SUPPORT_5111=0 AH_SUPPORT_5112=0 \
351 AH_SUPPORT_AR5312=1 ${DEBUG_OPTS} debug
352 ap61-clean:
353 ${MAKE} -f Makefile.inc TARGET=ap61 clean
355 wisoc: ${PUBLIC}/wisoc.inc
356 ${MAKE} -f Makefile.inc TARGET=wisoc \
357 AH_SUPPORT_2316=1 \
358 AH_SUPPORT_2317=1 \
359 AH_NEED_DESC_SWAP=1 \
360 AH_SUPPORT_AR5312=1
361 wisoc-release: ${PUBLIC}/wisoc.inc
362 ${MAKE} -f Makefile.inc TARGET=wisoc \
363 AH_SUPPORT_2316=1 \
364 AH_SUPPORT_2317=1 \
365 AH_NEED_DESC_SWAP=1 \
366 AH_SUPPORT_AR5312=1 release
367 wisoc-debug: ${PUBLIC}/wisoc.inc
368 ${MAKE} -f Makefile.inc TARGET=wisoc \
369 AH_SUPPORT_2316=1 \
370 AH_SUPPORT_2317=1 \
371 AH_NEED_DESC_SWAP=1 \
372 AH_SUPPORT_AR5312=1 ${DEBUG_OPTS} debug
373 wisoc-clean:
374 ${MAKE} -f Makefile.inc TARGET=wisoc clean