summaryrefslogtreecommitdiffstats
path: root/linux/Makefile
blob: b2b4a022015eb5463be2f77a412120d93426185a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
#
# Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
# Copyright (c) 2002-2008 Atheros Communications, Inc.
#
# 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.
#
# $Id: Makefile,v 1.3 2008/11/10 03:37:38 sam Exp $
#
DEPTH=	..

#
# Makefile for building the Atheros/MADWIFI HAL from source code with gmake
#
HAL=	${DEPTH}
PUBLIC=	${HAL}/public
DEBUG_OPTS=AH_DEBUG=1 AH_ASSERT=1

#
ifdef TARGET
ALL=	${TARGET}
else
ALL=	i386-elf \
	x86_64-elf \
	alpha-elf \
	arm-elf \
	mipsisa32-be-elf mips3-elf mips2-elf mips1-elf \
	powerpc-eabi powerpc-elf \
	sh4-elf sparc-elf soc
endif
#

all:	${ALL}

release:
	for i in ${ALL}; do \
		${MAKE} $$i-release; \
	done

debug:
	for i in ${ALL}; do \
		${MAKE} $$i-debug; \
	done

clean:
	for i in ${ALL}; do \
		${MAKE} $$i-clean; \
	done

#
# XXX someone with some gmake foo should be able to do this right...
#
i386-elf: ${PUBLIC}/i386-elf.inc
	${MAKE} -f Makefile.inc TARGET=i386-elf
i386-elf-release:
	${MAKE} -f Makefile.inc TARGET=i386-elf release
i386-elf-debug:
	${MAKE} -f Makefile.inc TARGET=i386-elf ${DEBUG_OPTS} debug
i386-elf-clean:
	${MAKE} -f Makefile.inc TARGET=i386-elf clean

x86_64-elf: ${PUBLIC}/x86_64-elf.inc
	${MAKE} -f Makefile.inc TARGET=x86_64-elf
x86_64-elf-release:
	${MAKE} -f Makefile.inc TARGET=x86_64-elf release
x86_64-elf-debug:
	${MAKE} -f Makefile.inc TARGET=x86_64-elf ${DEBUG_OPTS} debug
x86_64-elf-clean:
	${MAKE} -f Makefile.inc TARGET=x86_64-elf clean

alpha-elf: ${PUBLIC}/alpha-elf.inc
	${MAKE} -f Makefile.inc TARGET=alpha-elf
alpha-elf-release:
	${MAKE} -f Makefile.inc TARGET=alpha-elf release
alpha-elf-debug:
	${MAKE} -f Makefile.inc TARGET=alpha-elf ${DEBUG_OPTS} debug
alpha-elf-clean:
	${MAKE} -f Makefile.inc TARGET=alpha-elf clean

arm-elf: armv4-be-elf armv4-le-elf arm9-le-thumb-elf xscale-elf
arm-elf-release: armv4-be-elf-release armv4-le-elf-release \
	arm9-le-thumb-elf-release xscale-elf-release
arm-elf-debug: armv4-be-elf-debug armv4-le-elf-debug \
	arm9-le-thumb-elf-debug xscale-elf-debug
arm-elf-clean: armv4-be-elf-clean armv4-le-elf-clean \
	arm9-le-thumb-elf-clean xscale-elf-clean

armv4-be-elf: ${PUBLIC}/armv4-be-elf.inc
	${MAKE} -f Makefile.inc TARGET=armv4-be-elf
armv4-be-elf-release:
	${MAKE} -f Makefile.inc TARGET=armv4-be-elf release
armv4-be-elf-debug:
	${MAKE} -f Makefile.inc TARGET=armv4-be-elf ${DEBUG_OPTS} debug
armv4-be-elf-clean:
	${MAKE} -f Makefile.inc TARGET=armv4-be-elf clean
armv4-le-elf: ${PUBLIC}/armv4-le-elf.inc
	${MAKE} -f Makefile.inc TARGET=armv4-le-elf
armv4-le-elf-release:
	${MAKE} -f Makefile.inc TARGET=armv4-le-elf release
armv4-le-elf-debug:
	${MAKE} -f Makefile.inc TARGET=armv4-le-elf ${DEBUG_OPTS} debug
armv4-le-elf-clean:
	${MAKE} -f Makefile.inc TARGET=armv4-le-elf clean
arm9-le-thumb-elf: ${PUBLIC}/arm9-le-thumb-elf.inc
	${MAKE} -f Makefile.inc TARGET=arm9-le-thumb-elf
arm9-le-thumb-elf-release:
	${MAKE} -f Makefile.inc TARGET=arm9-le-thumb-elf release
arm9-le-thumb-elf-debug:
	${MAKE} -f Makefile.inc TARGET=arm9-le-thumb-elf ${DEBUG_OPTS} debug
arm9-le-thumb-elf-clean:
	${MAKE} -f Makefile.inc TARGET=arm9-le-thumb-elf clean

xscale-elf: xscale-be-elf xscale-le-elf
xscale-elf-release: xscale-be-elf-release xscale-le-elf-release
xscale-elf-debug: xscale-be-elf-debug xscale-le-elf-debug
xscale-elf-clean: xscale-be-elf-clean xscale-le-elf-clean

xscale-be-elf: ${PUBLIC}/xscale-be-elf.inc
	${MAKE} -f Makefile.inc TARGET=xscale-be-elf
xscale-be-elf-release:
	${MAKE} -f Makefile.inc TARGET=xscale-be-elf release
xscale-be-elf-debug:
	${MAKE} -f Makefile.inc TARGET=xscale-be-elf ${DEBUG_OPTS} debug
xscale-be-elf-clean:
	${MAKE} -f Makefile.inc TARGET=xscale-be-elf clean
xscale-le-elf: ${PUBLIC}/xscale-le-elf.inc
	${MAKE} -f Makefile.inc TARGET=xscale-le-elf
xscale-le-elf-release:
	${MAKE} -f Makefile.inc TARGET=xscale-le-elf release
xscale-le-elf-debug:
	${MAKE} -f Makefile.inc TARGET=xscale-le-elf ${DEBUG_OPTS} debug
xscale-le-elf-clean:
	${MAKE} -f Makefile.inc TARGET=xscale-le-elf clean

mipsisa32-be-elf: mips3-be-elf
mipsisa32-be-elf-release: mips3-be-elf-release
mipsisa32-be-elf-debug: mips3-be-elf-debug
mipsisa32-be-elf-clean: mips3-be-elf-clean

mips3-elf: mips3-be-elf mips3-le-elf
mips3-elf-release: mips3-be-elf-release mips3-le-elf-release
mips3-elf-debug: mips3-be-elf-debug mips3-le-elf-debug
mips3-elf-clean: mips3-be-elf-clean mips3-le-elf-clean

# NB: the .inc file naming is historical and needs changing
mips3-be-elf: ${PUBLIC}/mipsisa32-be-elf.inc
	${MAKE} -f Makefile.inc TARGET=mipsisa32-be-elf
mips3-be-elf-release:
	${MAKE} -f Makefile.inc TARGET=mipsisa32-be-elf release
mips3-be-elf-debug:
	${MAKE} -f Makefile.inc TARGET=mipsisa32-be-elf ${DEBUG_OPTS} debug
mips3-be-elf-clean:
	${MAKE} -f Makefile.inc TARGET=mipsisa32-be-elf clean

mips3-le-elf: ${PUBLIC}/mipsisa32-le-elf.inc
	${MAKE} -f Makefile.inc TARGET=mipsisa32-le-elf
mips3-le-elf-release:
	${MAKE} -f Makefile.inc TARGET=mipsisa32-le-elf release
mips3-le-elf-debug:
	${MAKE} -f Makefile.inc TARGET=mipsisa32-le-elf ${DEBUG_OPTS} debug
mips3-le-elf-clean:
	${MAKE} -f Makefile.inc TARGET=mipsisa32-le-elf clean

# NB: the .inc file naming is historical and needs changing
mips2-elf: mips2-be-elf mips2-le-elf
mips2-elf-release: mips2-be-elf-release mips2-le-elf-release
mips2-elf-debug: mips2-be-elf-debug mips2-le-elf-debug
mips2-elf-clean: mips2-be-elf-clean mips2-le-elf-clean

mips2-be-elf: ${PUBLIC}/mips-be-elf.inc
	${MAKE} -f Makefile.inc TARGET=mips-be-elf
mips2-be-elf-release:
	${MAKE} -f Makefile.inc TARGET=mips-be-elf release
mips2-be-elf-debug:
	${MAKE} -f Makefile.inc TARGET=mips-be-elf ${DEBUG_OPTS} debug
mips2-be-elf-clean:
	${MAKE} -f Makefile.inc TARGET=mips-be-elf clean

mips2-le-elf: ${PUBLIC}/mips-le-elf.inc
	${MAKE} -f Makefile.inc TARGET=mips-le-elf
mips2-le-elf-release:
	${MAKE} -f Makefile.inc TARGET=mips-le-elf release
mips2-le-elf-debug:
	${MAKE} -f Makefile.inc TARGET=mips-le-elf ${DEBUG_OPTS} debug
mips2-le-elf-clean:
	${MAKE} -f Makefile.inc TARGET=mips-le-elf clean

mips1-elf: mips1-be-elf mips1-le-elf
mips1-elf-release: mips1-be-elf-release mips1-le-elf-release
mips1-elf-debug: mips1-be-elf-debug mips1-le-elf-debug
mips1-elf-clean: mips1-be-elf-clean mips1-le-elf-clean

mips1-be-elf: ${PUBLIC}/mips1-be-elf.inc
	${MAKE} -f Makefile.inc TARGET=mips1-be-elf
mips1-be-elf-release:
	${MAKE} -f Makefile.inc TARGET=mips1-be-elf release
mips1-be-elf-debug:
	${MAKE} -f Makefile.inc TARGET=mips1-be-elf ${DEBUG_OPTS} debug
mips1-be-elf-clean:
	${MAKE} -f Makefile.inc TARGET=mips1-be-elf clean

mips1-le-elf: ${PUBLIC}/mips1-le-elf.inc
	${MAKE} -f Makefile.inc TARGET=mips1-le-elf
mips1-le-elf-release:
	${MAKE} -f Makefile.inc TARGET=mips1-le-elf release
mips1-le-elf-debug:
	${MAKE} -f Makefile.inc TARGET=mips1-le-elf ${DEBUG_OPTS} debug
mips1-le-elf-clean:
	${MAKE} -f Makefile.inc TARGET=mips1-le-elf clean

powerpc-eabi: powerpc-be-eabi powerpc-le-eabi
powerpc-eabi-release: powerpc-be-eabi-release powerpc-le-eabi-release
powerpc-eabi-debug: powerpc-be-eabi-debug powerpc-le-eabi-debug
powerpc-eabi-clean: powerpc-be-eabi-clean powerpc-le-eabi-clean

powerpc-be-eabi: ${PUBLIC}/powerpc-be-eabi.inc
	${MAKE} -f Makefile.inc TARGET=powerpc-be-eabi
powerpc-be-eabi-release:
	${MAKE} -f Makefile.inc TARGET=powerpc-be-eabi release
powerpc-be-eabi-debug:
	${MAKE} -f Makefile.inc TARGET=powerpc-be-eabi ${DEBUG_OPTS} debug
powerpc-be-eabi-clean:
	${MAKE} -f Makefile.inc TARGET=powerpc-be-eabi clean
powerpc-le-eabi: ${PUBLIC}/powerpc-le-eabi.inc
	${MAKE} -f Makefile.inc TARGET=powerpc-le-eabi
powerpc-le-eabi-release:
	${MAKE} -f Makefile.inc TARGET=powerpc-le-eabi release
powerpc-le-eabi-debug:
	${MAKE} -f Makefile.inc TARGET=powerpc-le-eabi ${DEBUG_OPTS} debug
powerpc-le-eabi-clean:
	${MAKE} -f Makefile.inc TARGET=powerpc-le-eabi clean

powerpc-elf: powerpc-be-elf
powerpc-elf-release: powerpc-be-elf-release
powerpc-elf-debug: powerpc-be-elf-debug
powerpc-elf-clean: powerpc-be-elf-clean

powerpc-be-elf: ${PUBLIC}/powerpc-be-elf.inc
	${MAKE} -f Makefile.inc TARGET=powerpc-be-elf
powerpc-be-elf-release:
	${MAKE} -f Makefile.inc TARGET=powerpc-be-elf release
powerpc-be-elf-debug:
	${MAKE} -f Makefile.inc TARGET=powerpc-be-elf ${DEBUG_OPTS} debug
powerpc-be-elf-clean:
	${MAKE} -f Makefile.inc TARGET=powerpc-be-elf clean

sh4-elf: sh4-le-elf
sh4-elf-release: sh4-le-elf-release
sh4-elf-debug: sh4-le-elf-debug
sh4-elf-clean: sh4-le-elf-clean

sh4-le-elf: ${PUBLIC}/sh4-le-elf.inc
	${MAKE} -f Makefile.inc TARGET=sh4-le-elf
sh4-le-elf-release:
	${MAKE} -f Makefile.inc TARGET=sh4-le-elf release
sh4-le-elf-debug:
	${MAKE} -f Makefile.inc TARGET=sh4-le-elf ${DEBUG_OPTS} debug
sh4-le-elf-clean:
	${MAKE} -f Makefile.inc TARGET=sh4-le-elf clean

sparc-elf: sparc64-be-elf sparc-be-elf
sparc-elf-release: sparc64-be-elf-release sparc-be-elf-release
sparc-elf-debug: sparc64-be-elf-debug sparc-be-elf-debug
sparc-elf-clean: sparc64-be-elf-clean sparc-be-elf-clean

sparc64-be-elf: ${PUBLIC}/sparc64-be-elf.inc
	${MAKE} -f Makefile.inc TARGET=sparc64-be-elf
sparc64-be-elf-release:
	${MAKE} -f Makefile.inc TARGET=sparc64-be-elf release
sparc64-be-elf-debug:
	${MAKE} -f Makefile.inc TARGET=sparc64-be-elf ${DEBUG_OPTS} debug
sparc64-be-elf-clean:
	${MAKE} -f Makefile.inc TARGET=sparc64-be-elf clean

sparc-be-elf: ${PUBLIC}/sparc-be-elf.inc
	${MAKE} -f Makefile.inc TARGET=sparc-be-elf
sparc-be-elf-release:
	${MAKE} -f Makefile.inc TARGET=sparc-be-elf release
sparc-be-elf-debug:
	${MAKE} -f Makefile.inc TARGET=sparc-be-elf ${DEBUG_OPTS} debug
sparc-be-elf-clean:
	${MAKE} -f Makefile.inc TARGET=sparc-be-elf clean

#
# SoC builds
#
# Use the ap43 build for an ap48 board
#
soc:	ap30 ap43 ap51 ap61 wisoc
soc-release:	ap30-release ap43-release ap51-release ap61-release wisoc-release
soc-debug:	ap30-debug ap43-debug ap51-debug ap61-debug wisoc-debug
soc-clean:	ap30-clean ap43-clean ap51-clean ap61-clean wisoc-clean

ap30: ${PUBLIC}/ap30.inc
	${MAKE} -f Makefile.inc TARGET=ap30 \
		AH_SUPPORT_AR5312=1 AH_NEED_DESC_SWAP=1
ap30-release: ${PUBLIC}/ap30.inc
	${MAKE} -f Makefile.inc TARGET=ap30 \
		AH_SUPPORT_AR5312=1 AH_NEED_DESC_SWAP=1 release
ap30-debug: ${PUBLIC}/ap30.inc
	${MAKE} -f Makefile.inc TARGET=ap30 \
		AH_SUPPORT_AR5312=1 AH_NEED_DESC_SWAP=1 ${DEBUG_OPTS} debug
ap30-clean:
	${MAKE} -f Makefile.inc TARGET=ap30 clean

ap43: ${PUBLIC}/ap43.inc
	${MAKE} -f Makefile.inc TARGET=ap43 AH_SUPPORT_AR5312=1
ap43-release: ${PUBLIC}/ap43.inc
	${MAKE} -f Makefile.inc TARGET=ap43 AH_SUPPORT_AR5312=1 release
ap43-debug: ${PUBLIC}/ap43.inc
	${MAKE} -f Makefile.inc TARGET=ap43 AH_SUPPORT_AR5312=1 ${DEBUG_OPTS} debug
ap43-clean:
	${MAKE} -f Makefile.inc TARGET=ap43 clean

ap51: ${PUBLIC}/ap51.inc
	${MAKE} -f Makefile.inc TARGET=ap51 \
		AH_SUPPORT_2316=1 AH_SUPPORT_5111=0 AH_SUPPORT_5112=0 \
		AH_SUPPORT_AR5312=1 AH_NEED_DESC_SWAP=1
ap51-release: ${PUBLIC}/ap51.inc
	${MAKE} -f Makefile.inc TARGET=ap51 \
		AH_SUPPORT_2316=1 AH_SUPPORT_5111=0 AH_SUPPORT_5112=0 \
		AH_SUPPORT_AR5312=1 AH_NEED_DESC_SWAP=1 release
ap51-debug: ${PUBLIC}/ap51.inc
	${MAKE} -f Makefile.inc TARGET=ap51 \
		AH_SUPPORT_2316=1 AH_SUPPORT_5111=0 AH_SUPPORT_5112=0 \
		AH_SUPPORT_AR5312=1 AH_NEED_DESC_SWAP=1 ${DEBUG_OPTS} debug
ap51-clean:
	${MAKE} -f Makefile.inc TARGET=ap51 clean

ap61: ${PUBLIC}/ap61.inc
	${MAKE} -f Makefile.inc TARGET=ap61 \
		AH_SUPPORT_2317=1 AH_SUPPORT_5111=0 AH_SUPPORT_5112=0 \
		AH_SUPPORT_AR5312=1
ap61-release: ${PUBLIC}/ap61.inc
	${MAKE} -f Makefile.inc TARGET=ap61 \
		AH_SUPPORT_2317=1 AH_SUPPORT_5111=0 AH_SUPPORT_5112=0 \
		AH_SUPPORT_AR5312=1 release
ap61-debug: ${PUBLIC}/ap61.inc
	${MAKE} -f Makefile.inc TARGET=ap61 \
		AH_SUPPORT_2317=1 AH_SUPPORT_5111=0 AH_SUPPORT_5112=0 \
		AH_SUPPORT_AR5312=1 ${DEBUG_OPTS} debug
ap61-clean:
	${MAKE} -f Makefile.inc TARGET=ap61 clean

wisoc: ${PUBLIC}/wisoc.inc
	${MAKE} -f Makefile.inc TARGET=wisoc \
		AH_SUPPORT_2316=1 \
		AH_SUPPORT_2317=1 \
		AH_NEED_DESC_SWAP=1 \
		AH_SUPPORT_AR5312=1
wisoc-release: ${PUBLIC}/wisoc.inc
	${MAKE} -f Makefile.inc TARGET=wisoc \
		AH_SUPPORT_2316=1 \
		AH_SUPPORT_2317=1 \
		AH_NEED_DESC_SWAP=1 \
		AH_SUPPORT_AR5312=1 release
wisoc-debug: ${PUBLIC}/wisoc.inc
	${MAKE} -f Makefile.inc TARGET=wisoc \
		AH_SUPPORT_2316=1 \
		AH_SUPPORT_2317=1 \
		AH_NEED_DESC_SWAP=1 \
		AH_SUPPORT_AR5312=1 ${DEBUG_OPTS} debug
wisoc-clean:
	${MAKE} -f Makefile.inc TARGET=wisoc clean
OpenPOWER on IntegriCloud