2 # MAKEFILE FOR THE MIPS LINUX BOOTLOADER AND ROM DEBUGGER
6 # Author: Thomas Horsten <thh@i-data.com>
10 Version
= "$(USER)-test"
13 MKLASATIMG
= mklasatimg
14 MKLASATIMG_ARCH
= mq2
,mqpro
,sp100
,sp200
15 KERNEL_IMAGE
= vmlinux
16 KERNEL_START
= $(shell $(NM
) $(KERNEL_IMAGE
) | grep
" _text" | cut
-f1
-d\
)
17 KERNEL_ENTRY
= $(shell $(NM
) $(KERNEL_IMAGE
) | grep kernel_entry | cut
-f1
-d\
)
19 LDSCRIPT
= -L
$(srctree
)/$(src
) -Tromscript.normal
21 HEAD_DEFINES
:= -D_kernel_start
=0x
$(KERNEL_START
) \
22 -D_kernel_entry
=0x
$(KERNEL_ENTRY
) \
23 -D VERSION
="\"$(Version)\"" \
24 -D TIMESTAMP
=$(shell date
+%s
)
26 $(obj
)/head.o
: $(obj
)/head.S
$(KERNEL_IMAGE
)
27 $(CC
) -fno-pic
$(HEAD_DEFINES
) $(LINUXINCLUDE
) -c
-o
$@
$<
29 OBJECTS
= head.o kImage.o
32 rom.bin
: $(obj
)/rom.bin
34 $(obj
)/rom.sw
: $(obj
)/rom.bin
35 $(MKLASATIMG
) -o
$@
-k
$^
-m
$(MKLASATIMG_ARCH
)
37 $(obj
)/rom.bin
: $(obj
)/rom
38 $(OBJCOPY
) -O binary
-S
$^
$@
40 # Rule to make the bootloader
41 $(obj
)/rom
: $(addprefix $(obj
)/,$(OBJECTS
))
42 $(LD
) $(LDFLAGS
) $(LDSCRIPT
) -o
$@
$^
44 $(obj
)/%.o
: $(obj
)/%.gz
45 $(LD
) -r
-o
$@
-b binary
$<
47 $(obj
)/%.gz
: $(obj
)/%.bin
50 $(obj
)/kImage.bin
: $(KERNEL_IMAGE
)
51 $(OBJCOPY
) -O binary
-S
$^
$@
54 rm -f rom rom.bin rom.sw kImage.bin kImage.o