Makefile 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. include $(ADK_TOPDIR)/rules.mk
  4. include Makefile.inc
  5. include ../rules.mk
  6. include $(ADK_TOPDIR)/mk/buildhlp.mk
  7. ifeq ($(ADK_TOOLCHAIN_BINUTILS_GIT),y)
  8. BINUTILS_VERSION:= git
  9. BFDLIB:= .libs/libbfd.a
  10. endif
  11. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_47),y)
  12. BINUTILS_VERSION:= 2.47
  13. BFDLIB:= .libs/libbfd.a
  14. endif
  15. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_46),y)
  16. BINUTILS_VERSION:= 2.46.1
  17. BFDLIB:= .libs/libbfd.a
  18. endif
  19. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_45),y)
  20. BINUTILS_VERSION:= 2.45.1
  21. BFDLIB:= .libs/libbfd.a
  22. endif
  23. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_44),y)
  24. BINUTILS_VERSION:= 2.44
  25. BFDLIB:= .libs/libbfd.a
  26. endif
  27. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_43_1),y)
  28. BINUTILS_VERSION:= 2.43.1
  29. BFDLIB:= .libs/libbfd.a
  30. endif
  31. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_42),y)
  32. BINUTILS_VERSION:= 2.42
  33. BFDLIB:= .libs/libbfd.a
  34. endif
  35. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_41),y)
  36. BINUTILS_VERSION:= 2.41
  37. BFDLIB:= .libs/libbfd.a
  38. endif
  39. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_40),y)
  40. BINUTILS_VERSION:= 2.40
  41. BFDLIB:= libbfd.a
  42. endif
  43. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_39),y)
  44. BINUTILS_VERSION:= 2.39
  45. BFDLIB:= libbfd.a
  46. endif
  47. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_38),y)
  48. BINUTILS_VERSION:= 2.38
  49. BFDLIB:= libbfd.a
  50. endif
  51. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_37),y)
  52. BINUTILS_VERSION:= 2.37
  53. BFDLIB:= libbfd.a
  54. endif
  55. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_28),y)
  56. BINUTILS_VERSION:= 2.28
  57. BFDLIB:= libbfd.a
  58. endif
  59. ifeq ($(ADK_TOOLCHAIN_BINUTILS_2_26),y)
  60. BINUTILS_VERSION:= 2.26
  61. BFDLIB:= libbfd.a
  62. endif
  63. $(WRKBUILD)/.configured:
  64. (cd $(WRKBUILD); PATH='${HOST_PATH}' autoreconf -vif;)
  65. (cd $(WRKBUILD); \
  66. CPPFLAGS="-idirafter $(ADK_TOPDIR)/adk/include" \
  67. ./configure --prefix=$(STAGING_HOST_DIR)/usr \
  68. --target=$(GNU_TARGET_NAME) \
  69. --with-bfd-include-dir=$(TOOLCHAIN_BUILD_DIR)/w-binutils-$(BINUTILS_VERSION)-1/binutils-$(BINUTILS_VERSION)/bfd \
  70. --with-binutils-include-dir=$(TOOLCHAIN_BUILD_DIR)/w-binutils-$(BINUTILS_VERSION)-1/binutils-$(BINUTILS_VERSION)/include \
  71. --with-libbfd=$(TOOLCHAIN_BUILD_DIR)/w-binutils-$(BINUTILS_VERSION)-1/binutils-$(BINUTILS_VERSION)/bfd/$(BFDLIB) \
  72. --with-libiberty=$(TOOLCHAIN_BUILD_DIR)/w-binutils-$(BINUTILS_VERSION)-1/binutils-$(BINUTILS_VERSION)/libiberty/libiberty.a )
  73. touch $@
  74. $(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
  75. $(MAKE) -C $(WRKBUILD) all
  76. touch $@
  77. $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
  78. $(INSTALL_BIN) $(WRKBUILD)/elf2flt $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/bin
  79. $(INSTALL_BIN) $(WRKBUILD)/flthdr $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/bin
  80. $(INSTALL_BIN) $(WRKBUILD)/ld-elf2flt $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/bin
  81. $(INSTALL_DATA) $(WRKBUILD)/elf2flt.ld $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/lib
  82. rm $(TOOLCHAIN_DIR)/usr/bin/$(GNU_TARGET_NAME)-ld $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/bin/ld
  83. (cd $(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/bin \
  84. && ln -sf ld.bfd ld.real \
  85. && ln -sf ld-elf2flt ld \
  86. )
  87. (cd $(TOOLCHAIN_DIR)/usr/bin && \
  88. ln -sf ../$(GNU_TARGET_NAME)/bin/elf2flt $(GNU_TARGET_NAME)-elf2flt && \
  89. ln -sf ../$(GNU_TARGET_NAME)/bin/flthdr $(GNU_TARGET_NAME)-flthdr && \
  90. ln -sf ../$(GNU_TARGET_NAME)/bin/ld-elf2flt $(GNU_TARGET_NAME)-ld-elf2flt && \
  91. ln -sf ../$(GNU_TARGET_NAME)/bin/ld-elf2flt $(GNU_TARGET_NAME)-ld )
  92. (cd $(TOOLCHAIN_DIR)/usr/bin/ && ln -sf $(GNU_TARGET_NAME)-ld.bfd $(GNU_TARGET_NAME)-ld.real )
  93. touch $@
  94. include $(ADK_TOPDIR)/mk/toolchain.mk