Makefile 2.4 KB

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