| |
| include $(TOPDIR)/config.mk |
| include $(TOPDIR)/onenand_ipl/board/$(BOARDDIR)/config.mk |
| |
| LDSCRIPT= $(TOPDIR)/onenand_ipl/board/$(BOARDDIR)/u-boot.onenand.lds |
| LDFLAGS = -Bstatic -T $(onenandobj)u-boot.lds -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS) |
| AFLAGS += -DCONFIG_PRELOADER -DCONFIG_ONENAND_IPL |
| CFLAGS += -DCONFIG_PRELOADER -DCONFIG_ONENAND_IPL |
| OBJCFLAGS += --gap-fill=0x00 |
| |
| SOBJS := low_levelinit.o |
| SOBJS += start.o |
| COBJS := apollon.o |
| COBJS += onenand_read.o |
| COBJS += onenand_boot.o |
| |
| SRCS := $(addprefix $(obj),$(SOBJS:.o=.S) $(COBJS:.o=.c)) |
| OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) |
| __OBJS := $(SOBJS) $(COBJS) |
| LNDIR := $(OBJTREE)/onenand_ipl/board/$(BOARDDIR) |
| |
| onenandobj := $(OBJTREE)/onenand_ipl/ |
| |
| ALL = $(onenandobj)onenand-ipl $(onenandobj)onenand-ipl.bin $(onenandobj)onenand-ipl-2k.bin $(onenandobj)onenand-ipl-4k.bin |
| |
| all: $(obj).depend $(ALL) |
| |
| $(onenandobj)onenand-ipl-2k.bin: $(onenandobj)onenand-ipl |
| $(OBJCOPY) ${OBJCFLAGS} --pad-to=0x800 -O binary $< $@ |
| |
| $(onenandobj)onenand-ipl-4k.bin: $(onenandobj)onenand-ipl |
| $(OBJCOPY) ${OBJCFLAGS} --pad-to=0x1000 -O binary $< $@ |
| |
| $(onenandobj)onenand-ipl.bin: $(onenandobj)onenand-ipl |
| $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ |
| |
| $(onenandobj)onenand-ipl: $(OBJS) $(onenandobj)u-boot.lds |
| cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \ |
| -Map $@.map -o $@ |
| |
| $(onenandobj)u-boot.lds: $(LDSCRIPT) |
| $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ |
| |
| # create symbolic links from common files |
| |
| # from cpu directory |
| $(obj)start.S: |
| @rm -f $@ |
| ln -s $(SRCTREE)/cpu/$(CPU)/start.S $@ |
| |
| # from onenand_ipl directory |
| $(obj)onenand_ipl.h: |
| @rm -f $@ |
| ln -s $(SRCTREE)/onenand_ipl/onenand_ipl.h $@ |
| |
| $(obj)onenand_boot.c: $(obj)onenand_ipl.h |
| @rm -f $@ |
| ln -s $(SRCTREE)/onenand_ipl/onenand_boot.c $@ |
| |
| $(obj)onenand_read.c: $(obj)onenand_ipl.h |
| @rm -f $@ |
| ln -s $(SRCTREE)/onenand_ipl/onenand_read.c $@ |
| |
| ifneq ($(OBJTREE), $(SRCTREE)) |
| $(obj)apollon.c: |
| @rm -f $@ |
| ln -s $(SRCTREE)/onenand_ipl/board/$(BOARDDIR)/apollon.c $@ |
| |
| $(obj)low_levelinit.S: |
| @rm -f $@ |
| ln -s $(SRCTREE)/onenand_ipl/board/$(BOARDDIR)/low_levelinit.S $@ |
| endif |
| |
| ######################################################################### |
| |
| $(obj)%.o: $(obj)%.S |
| $(CC) $(AFLAGS) -c -o $@ $< |
| |
| $(obj)%.o: $(obj)$.c |
| $(CC) $(CFLAGS) -c -o $@ $< |
| |
| # defines $(obj).depend target |
| include $(SRCTREE)/rules.mk |
| |
| sinclude $(obj).depend |
| |
| ######################################################################### |