blob: a86bc00864c870c9490193f806f556c68d01be85 [file] [log] [blame]
Marek Vasut67bd2e22010-10-16 21:32:11 +02001
Marek Vasut1e847582010-03-07 23:35:48 +01002include $(TOPDIR)/config.mk
Marek Vasut67bd2e22010-10-16 21:32:11 +02003include $(TOPDIR)/board/$(BOARDDIR)/config.mk
Marek Vasut1e847582010-03-07 23:35:48 +01004
5LDSCRIPT= $(TOPDIR)/onenand_ipl/board/$(BOARDDIR)/u-boot.onenand.lds
Wolfgang Denk0708bc62010-10-07 21:51:12 +02006LDFLAGS = -Bstatic -T $(onenandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(PLATFORM_LDFLAGS)
Marek Vasut1e847582010-03-07 23:35:48 +01007AFLAGS += -DCONFIG_PRELOADER -DCONFIG_ONENAND_IPL
8CFLAGS += -DCONFIG_PRELOADER -DCONFIG_ONENAND_IPL
9OBJCFLAGS += --gap-fill=0x00
10
11SOBJS := lowlevel_init.o
12SOBJS += start.o
13COBJS := vpac270.o
14COBJS += onenand_read.o
15COBJS += onenand_boot.o
16
17SRCS := $(addprefix $(obj),$(SOBJS:.o=.S) $(COBJS:.o=.c))
18OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
19__OBJS := $(SOBJS) $(COBJS)
20LNDIR := $(OBJTREE)/onenand_ipl/board/$(BOARDDIR)
21
22onenandobj := $(OBJTREE)/onenand_ipl/
23
24ALL = $(onenandobj)onenand-ipl $(onenandobj)onenand-ipl.bin $(onenandobj)onenand-ipl-2k.bin
25
26all: $(obj).depend $(ALL)
27
28$(onenandobj)onenand-ipl-2k.bin: $(onenandobj)onenand-ipl
Marek Vasut67bd2e22010-10-16 21:32:11 +020029 $(OBJCOPY) ${OBJCFLAGS} --pad-to=0x0800 -O binary $< $@
Marek Vasut1e847582010-03-07 23:35:48 +010030
31$(onenandobj)onenand-ipl.bin: $(onenandobj)onenand-ipl
32 $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
33
34$(onenandobj)onenand-ipl: $(OBJS) $(onenandobj)u-boot.lds
35 cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
36 -Map $@.map -o $@
37
38$(onenandobj)u-boot.lds: $(LDSCRIPT)
39 $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
40
41# create symbolic links from common files
42
43# from cpu directory
44$(obj)start.S:
45 @rm -f $@
46 ln -s $(SRCTREE)/$(CPUDIR)/start.S $@
47
48# from onenand_ipl directory
49$(obj)onenand_ipl.h:
50 @rm -f $@
51 ln -s $(SRCTREE)/onenand_ipl/onenand_ipl.h $@
52
53$(obj)onenand_boot.c: $(obj)onenand_ipl.h
54 @rm -f $@
55 ln -s $(SRCTREE)/onenand_ipl/onenand_boot.c $@
56
57$(obj)onenand_read.c: $(obj)onenand_ipl.h
58 @rm -f $@
59 ln -s $(SRCTREE)/onenand_ipl/onenand_read.c $@
60
61ifneq ($(OBJTREE), $(SRCTREE))
62$(obj)vpac270.c:
63 @rm -f $@
64 ln -s $(SRCTREE)/onenand_ipl/board/$(BOARDDIR)/vpac270.c $@
65
66$(obj)lowlevel_init.S:
67 @rm -f $@
68 ln -s $(SRCTREE)/onenand_ipl/board/$(BOARDDIR)/lowlevel_init.S $@
69endif
70
71#########################################################################
72
73$(obj)%.o: $(obj)%.S
74 $(CC) $(AFLAGS) -c -o $@ $<
75
76$(obj)%.o: $(obj)$.c
77 $(CC) $(CFLAGS) -c -o $@ $<
78
79# defines $(obj).depend target
80include $(SRCTREE)/rules.mk
81
82sinclude $(obj).depend
83
84#########################################################################