Makefile 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. IPL =onenand_ipl
  2. include $(TOPDIR)/config.mk
  3. LDSCRIPT= $(TOPDIR)/onenand_ipl/board/$(BOARDDIR)/u-boot.onenand.lds
  4. LDFLAGS = -Bstatic -T $(onenandobj)u-boot.lds -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
  5. AFLAGS += -DCONFIG_PRELOADER -DCONFIG_ONENAND_IPL
  6. CFLAGS += -DCONFIG_PRELOADER -DCONFIG_ONENAND_IPL
  7. OBJCFLAGS += --gap-fill=0x00
  8. SOBJS := lowlevel_init.o
  9. SOBJS += start.o
  10. COBJS := vpac270.o
  11. COBJS += onenand_read.o
  12. COBJS += onenand_boot.o
  13. SRCS := $(addprefix $(obj),$(SOBJS:.o=.S) $(COBJS:.o=.c))
  14. OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
  15. __OBJS := $(SOBJS) $(COBJS)
  16. LNDIR := $(OBJTREE)/onenand_ipl/board/$(BOARDDIR)
  17. onenandobj := $(OBJTREE)/onenand_ipl/
  18. ALL = $(onenandobj)onenand-ipl $(onenandobj)onenand-ipl.bin $(onenandobj)onenand-ipl-2k.bin
  19. all: $(obj).depend $(ALL)
  20. $(onenandobj)onenand-ipl-2k.bin: $(onenandobj)onenand-ipl
  21. $(OBJCOPY) ${OBJCFLAGS} --pad-to=0x5c040400 -O binary $< $@
  22. $(onenandobj)onenand-ipl.bin: $(onenandobj)onenand-ipl
  23. $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
  24. $(onenandobj)onenand-ipl: $(OBJS) $(onenandobj)u-boot.lds
  25. cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
  26. -Map $@.map -o $@
  27. $(onenandobj)u-boot.lds: $(LDSCRIPT)
  28. $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
  29. # create symbolic links from common files
  30. # from cpu directory
  31. $(obj)start.S:
  32. @rm -f $@
  33. ln -s $(SRCTREE)/$(CPUDIR)/start.S $@
  34. # from onenand_ipl directory
  35. $(obj)onenand_ipl.h:
  36. @rm -f $@
  37. ln -s $(SRCTREE)/onenand_ipl/onenand_ipl.h $@
  38. $(obj)onenand_boot.c: $(obj)onenand_ipl.h
  39. @rm -f $@
  40. ln -s $(SRCTREE)/onenand_ipl/onenand_boot.c $@
  41. $(obj)onenand_read.c: $(obj)onenand_ipl.h
  42. @rm -f $@
  43. ln -s $(SRCTREE)/onenand_ipl/onenand_read.c $@
  44. ifneq ($(OBJTREE), $(SRCTREE))
  45. $(obj)vpac270.c:
  46. @rm -f $@
  47. ln -s $(SRCTREE)/onenand_ipl/board/$(BOARDDIR)/vpac270.c $@
  48. $(obj)lowlevel_init.S:
  49. @rm -f $@
  50. ln -s $(SRCTREE)/onenand_ipl/board/$(BOARDDIR)/lowlevel_init.S $@
  51. endif
  52. #########################################################################
  53. $(obj)%.o: $(obj)%.S
  54. $(CC) $(AFLAGS) -c -o $@ $<
  55. $(obj)%.o: $(obj)$.c
  56. $(CC) $(CFLAGS) -c -o $@ $<
  57. # defines $(obj).depend target
  58. include $(SRCTREE)/rules.mk
  59. sinclude $(obj).depend
  60. #########################################################################