Makefile 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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 $(LDSCRIPT) -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 := 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)
  27. cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
  28. -Map $@.map -o $@
  29. # create symbolic links from common files
  30. # from cpu directory
  31. $(obj)start.S:
  32. @rm -f $@
  33. ln -s $(SRCTREE)/cpu/$(CPU)/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)apollon.c:
  46. @rm -f $@
  47. ln -s $(SRCTREE)/onenand_ipl/board/$(BOARDDIR)/apollon.c $@
  48. $(obj)low_levelinit.S:
  49. @rm -f $@
  50. ln -s $(SRCTREE)/onenand_ipl/board/$(BOARDDIR)/low_levelinit.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. #########################################################################