Makefile 2.1 KB

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