Makefile 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. #
  2. # Copyright (C) 2006-2011 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=binutils
  9. PKG_VERSION:=$(strip $(subst ",, $(CONFIG_BINUTILS_VERSION)))
  10. #"))
  11. PKG_RELEASE:=5
  12. PKG_SOURCE_URL:=@GNU/binutils
  13. PKG_SOURCE:=binutils-$(PKG_VERSION).tar.bz2
  14. PKG_MD5SUM:=
  15. PATCH_DIR:=$(TOPDIR)/toolchain/binutils/patches/$(PKG_VERSION)
  16. PKG_FIXUP:=autoreconf
  17. PKG_LIBTOOL_PATHS:=. gas bfd opcodes gprof binutils ld libiberty gold intl
  18. PKG_REMOVE_FILES:=libtool.m4
  19. PKG_INSTALL:=1
  20. PKG_MAINTAINER:=Felix Fietkau <[email protected]>
  21. PKG_BUILD_PARALLEL:=1
  22. include $(INCLUDE_DIR)/package.mk
  23. define Package/binutils
  24. SECTION:=devel
  25. CATEGORY:=Development
  26. TITLE:=binutils
  27. DEPENDS:=+objdump
  28. endef
  29. define Package/objdump
  30. SECTION:=devel
  31. CATEGORY:=Development
  32. TITLE:=objdump
  33. DEPENDS:=+zlib
  34. endef
  35. define Package/binutils/description
  36. The Binutils package contains a linker, an assembler, and other tools for handling object files
  37. endef
  38. CONFIGURE_ARGS = \
  39. --target=$(REAL_GNU_TARGET_NAME) \
  40. --host=$(REAL_GNU_TARGET_NAME) \
  41. --build=$(GNU_HOST_NAME) \
  42. --prefix=/usr \
  43. --disable-multilib \
  44. --disable-werror \
  45. --disable-nls \
  46. --enable-shared \
  47. $(SOFT_FLOAT_CONFIG_OPTION) \
  48. $(call qstrip,$(CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS))
  49. TARGET_CFLAGS += $(FPIC)
  50. TARGET_LDFLAGS := -L$(PKG_BUILD_DIR)/libiberty $(TARGET_LDFLAGS)
  51. define Build/Configure
  52. $(call Build/Configure/Default)
  53. $(call Build/Compile/Default, \
  54. configure-bfd \
  55. configure-binutils \
  56. configure-etc \
  57. configure-gas \
  58. configure-gprof \
  59. configure-intl \
  60. configure-ld \
  61. configure-libiberty \
  62. configure-opcodes \
  63. )
  64. $(MAKE) CFLAGS="$(TARGET_CFLAGS)" -C $(PKG_BUILD_DIR)/bfd/po Makefile
  65. endef
  66. define Build/InstallDev
  67. $(INSTALL_DIR) $(1)/usr/{lib,include}
  68. $(CP) \
  69. $(PKG_INSTALL_DIR)/usr/lib/* \
  70. $(1)/usr/lib/
  71. $(CP) \
  72. $(PKG_BUILD_DIR)/include/*.h \
  73. $(1)/usr/include/
  74. $(CP) \
  75. $(PKG_INSTALL_DIR)/usr/include/* \
  76. $(1)/usr/include/
  77. rm -f $(1)/usr/include/gdbm.h
  78. endef
  79. define Build/Compile
  80. +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/bfd/doc/ CFLAGS="-I$(PKG_BUILD_DIR)/include" chew
  81. $(call Build/Compile/Default)
  82. endef
  83. define Package/objdump/install
  84. $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib
  85. $(CP) $(PKG_INSTALL_DIR)/usr/bin/objdump $(1)/usr/bin/
  86. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libopcodes*.so $(1)/usr/lib/
  87. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libbfd*.so $(1)/usr/lib/
  88. endef
  89. define Package/binutils/install
  90. $(INSTALL_DIR) $(1)/usr $(1)/bin
  91. $(CP) $(PKG_INSTALL_DIR)/usr/bin/ $(1)/usr/
  92. mv $(1)/usr/bin/strings $(1)/bin/strings
  93. rm -f $(1)/usr/bin/objdump
  94. endef
  95. $(eval $(call BuildPackage,binutils))
  96. $(eval $(call BuildPackage,objdump))