2 # Makefile for Broadcom BCM947XX boards
4 # Copyright 2001-2003, Broadcom Corporation
7 # THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8 # KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9 # SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10 # FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
12 # Copyright 2004 Manuel Novoa III <mjn3@codepoet.org>
13 # Modified to support bzip'd kernels.
14 # Of course, it would be better to integrate bunzip capability into CFE.
16 # Copyright 2005 Oleg I. Vdovikin <oleg@cs.msu.su>
17 # Cleaned up, modified for lzma support, removed from kernel
19 # Copyright 2007 Gabor Juhos <juhosg@freemail.hu>
20 # Modified to support user defined entry point address.
21 # Added support for make targets with different names
24 LOADADDR
:= 0x80001000
25 BZ_TEXT_START
:= 0x80300000
29 OBJCOPY
:= $(CROSS_COMPILE
)objcopy
-O binary
-R .reginfo
-R .note
-R .comment
-R .mdebug
-S
31 CFLAGS
= -D__KERNEL__
-Wall
-Wstrict-prototypes
-Wno-trigraphs
-Os \
32 -fno-strict-aliasing
-fno-common
-fomit-frame-pointer
-G
0 -mno-abicalls
-fno-pic \
33 -ffunction-sections
-pipe
-mlong-calls
-fno-common \
34 -mabi
=32 -march
=mips32
-Wa
,-32 -Wa
,-march
=mips32
-Wa
,-mips32
-Wa
,--trap
35 CFLAGS
+= -DLOADADDR
=$(LOADADDR
) -D_LZMA_IN_CB
37 ASFLAGS
= $(CFLAGS
) -D__ASSEMBLY__
-DBZ_STARTUP_ORG
=$(BZ_STARTUP_ORG
)
39 LDFLAGS
= -static
--gc-sections
-no-warn-mismatch
40 LDFLAGS
+= -e startup
-Ttext
$(BZ_TEXT_START
) -T loader.lds.in
42 OBJECTS
:= $(LOADER
)-head.o decompress.o LzmaDecode.o
44 all: $(LOADER
).gz
$(LOADER
).elf
46 # Don't build dependencies, this may die if $(CC) isn't gcc
52 $(CC
) $(CFLAGS
) -c decompress.c
-o
$@
55 $(CC
) $(ASFLAGS
) -c head.S
-o
$@
57 $(LOADER
).gz
: $(LOADER
).bin
60 $(LOADER
).elf
: $(LOADER
).o
63 $(LOADER
).bin
: $(LOADER
).o
64 $(OBJCOPY
) -O binary
$< $@
66 $(LOADER
).o
: $(OBJECTS
)
67 $(LD
) $(LDFLAGS
) -o
$@
$(OBJECTS
)
72 rm -f
*.gz
*.elf
*.bin
*.o