1#
2# MAKEFILE FOR THE MIPS LINUX BOOTLOADER AND ROM DEBUGGER
3#
4# i-data Networks
5#
6# Author: Thomas Horsten <thh@i-data.com>
7#
8
9ifndef Version
10 Version = "$(USER)-test"
11endif
12
13MKLASATIMG = mklasatimg
14MKLASATIMG_ARCH = mq2,mqpro
15ifdef CONFIG_LASAT_SERVICE
16MKLASATIMG_FLAG = -s
17else
18MKLASATIMG_FLAG = -k
19endif
20
21KERNEL_IMAGE = $(TOPDIR)/vmlinux
22KERNEL_START = $(shell $(NM) $(KERNEL_IMAGE) | grep _ftext | cut -f1 -d\ )
23KERNEL_ENTRY = $(shell $(NM) $(KERNEL_IMAGE) | grep kernel_entry | cut -f1 -d\ )
24
25LDSCRIPT= -Tromscript.normal
26
27AFLAGS_head.o = -D_kernel_start=0x$(KERNEL_START) \
28		-D_kernel_entry=0x$(KERNEL_ENTRY) \
29		-D VERSION="\"$(Version)\"" \
30		-D TIMESTAMP=$(shell date +%s) 
31
32head.o: $(KERNEL_IMAGE)
33
34OBJECTS= head.o kImage.o
35
36rom.sw:	rom.bin
37	$(MKLASATIMG) -o rom.sw $(MKLASATIMG_FLAG) rom.bin -m $(MKLASATIMG_ARCH)
38
39rom.bin: rom
40	$(OBJCOPY) -O binary -S rom rom.bin
41
42# Rule to make the bootloader
43rom:	$(OBJECTS)
44	$(LD) $(LDFLAGS) $(LDSCRIPT) -o rom $(OBJECTS) 
45
46%.o: %.gz
47	$(LD) -r -o $@ -b binary $<
48
49%.gz: %.bin
50	gzip -cf -9 $< > $@
51
52kImage.bin: $(KERNEL_IMAGE)
53	$(OBJCOPY) -O binary -S $(TOPDIR)/vmlinux kImage.bin
54
55clean:
56	rm -f rom rom.bin rom.sw kImage.bin
57
58USE_STANDARD_AS_RULE = 1
59include $(TOPDIR)/Rules.make
60