1#
2# Makefile for rescue (bootstrap) code
3#
4
5# CC = gcc-cris -mlinux -march=v32 $(LINUXINCLUDE)
6# ccflags-$(CONFIG_ETRAX_ARCH_V32) += -I$(srctree)/include/asm/arch/mach/ \
7# 				    -I$(srctree)/include/asm/arch
8# asflags-y += -I $(srctree)/include/asm/arch/mach/ -I $(srctree)/include/asm/arch
9# LD = gcc-cris -mlinux -march=v32 -nostdlib
10
11asflags-y += $(LINUXINCLUDE)
12ccflags-y += -O2 $(LINUXINCLUDE)
13arch-$(CONFIG_ETRAX_ARCH_V10) = v10
14arch-$(CONFIG_ETRAX_ARCH_V32) = v32
15
16ldflags-y += -T $(srctree)/$(src)/rescue_$(arch-y).lds
17OBJCOPYFLAGS = -O binary --remove-section=.bss
18obj-$(CONFIG_ETRAX_ARCH_V32) = $(obj)/head_v32.o
19obj-$(CONFIG_ETRAX_ARCH_V10) = $(obj)/head_v10.o
20OBJECTS := $(obj-y)
21
22targets := rescue.o rescue.bin
23
24$(obj)/rescue.o: $(OBJECTS) FORCE
25	$(call if_changed,ld)
26
27$(obj)/rescue.bin: $(obj)/rescue.o FORCE
28	$(call if_changed,objcopy)
29	cp -p $(obj)/rescue.bin $(objtree)
30
31$(obj)/testrescue.bin: $(obj)/testrescue.o
32	$(OBJCOPY) $(OBJCOPYFLAGS) $(obj)/testrescue.o tr.bin
33# Pad it to 784 bytes
34	dd if=/dev/zero of=tmp2423 bs=1 count=784
35	cat tr.bin tmp2423 >testrescue_tmp.bin
36	dd if=testrescue_tmp.bin of=$(obj)/testrescue.bin bs=1 count=784
37	rm tr.bin tmp2423 testrescue_tmp.bin
38
39
40$(obj)/kimagerescue.bin: $(obj)/kimagerescue.o
41	$(OBJCOPY) $(OBJCOPYFLAGS) $(obj)/kimagerescue.o ktr.bin
42# Pad it to 784 bytes, that's what the rescue loader expects
43	dd if=/dev/zero of=tmp2423 bs=1 count=784
44	cat ktr.bin tmp2423 >kimagerescue_tmp.bin
45	dd if=kimagerescue_tmp.bin of=$(obj)/kimagerescue.bin bs=1 count=784
46	rm ktr.bin tmp2423 kimagerescue_tmp.bin
47
48