Makefile 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. include $(TOPDIR)/rules.mk
  3. PKG_NAME:=elfutils
  4. PKG_VERSION:=0.192
  5. PKG_RELEASE:=1
  6. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
  7. PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION)
  8. PKG_HASH:=616099beae24aba11f9b63d86ca6cc8d566d968b802391334c91df54eab416b4
  9. PKG_LICENSE:=GPL-3.0-or-later
  10. PKG_LICENSE_FILES:=COPYING COPYING-GPLV2 COPYING-LGPLV3
  11. PKG_CPE_ID:=cpe:/a:elfutils_project:elfutils
  12. PKG_FIXUP:=autoreconf
  13. PKG_PROGRAMS:=elflint findtextrel elfcmp unstrip stack elfcompress elfclassify srcfiles
  14. PKG_SUBDIRS := \
  15. config \
  16. lib \
  17. libelf \
  18. libcpu \
  19. backends \
  20. libebl \
  21. libdwelf \
  22. libdwfl \
  23. libdw \
  24. src
  25. PKG_GNULIB_BASE:=libgnu
  26. PKG_GNULIB_ARGS = \
  27. --dir=$(HOST_BUILD_DIR) \
  28. --libtool \
  29. --avoid=reallocarray \
  30. --import
  31. PKG_GNULIB_MODS = \
  32. argp \
  33. fallocate-posix \
  34. fnmatch-gnu \
  35. fts \
  36. obstack-printf-posix \
  37. progname \
  38. strchrnul \
  39. tsearch
  40. HOST_BUILD_PARALLEL:=1
  41. include $(INCLUDE_DIR)/host-build.mk
  42. export $(PKG_GNULIB_BASE)=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/.libs/$(PKG_GNULIB_BASE).a
  43. export $(PKG_GNULIB_BASE)_exitfail=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-exitfail.o
  44. export $(PKG_GNULIB_BASE)_fallocate-posix=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-posix_fallocate.o
  45. export $(PKG_GNULIB_BASE)_mbszero=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-mbszero.o
  46. export $(PKG_GNULIB_BASE)_obstack=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-obstack.o
  47. export $(PKG_GNULIB_BASE)_obstack-printf=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-obstack_printf.o
  48. export $(PKG_GNULIB_BASE)_printf-args=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-printf-args.o
  49. export $(PKG_GNULIB_BASE)_printf-frexp=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-printf-frexp.o
  50. export $(PKG_GNULIB_BASE)_printf-frexpl=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-printf-frexpl.o
  51. export $(PKG_GNULIB_BASE)_printf-parse=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-printf-parse.o
  52. export $(PKG_GNULIB_BASE)_tsearch=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-tsearch.o
  53. export $(PKG_GNULIB_BASE)_vasnprintf=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-vasnprintf.o
  54. export $(PKG_GNULIB_BASE)_xsize=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-xsize.o
  55. HOST_MAKE_FLAGS += \
  56. am__CONFIG_DISTCLEAN_FILES= \
  57. DEFAULT_INCLUDES='-iquote . -I$$$$(top_builddir) -I$$$$(top_srcdir)/$(PKG_GNULIB_BASE)' \
  58. AM_LDFLAGS='$$$$(STACK_USAGE_NO_ERROR)' \
  59. LIBS+='$$$$(if $$$$(findstring $(lastword $(PKG_SUBDIRS)),$$$$(subdir)), $$$$($(PKG_GNULIB_BASE)))' \
  60. LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_exitfail))' \
  61. LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_fallocate-posix))' \
  62. LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_mbszero))' \
  63. LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_obstack))' \
  64. LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_obstack-printf))' \
  65. LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_printf-args))' \
  66. LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_printf-frexp))' \
  67. LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_printf-frexpl))' \
  68. LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_printf-parse))' \
  69. LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_tsearch))' \
  70. LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_vasnprintf))' \
  71. LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_xsize))' \
  72. REPLACE_FCNTL=0 REPLACE_FREE=0 REPLACE_FSTAT=0 REPLACE_OPEN=0 \
  73. REPLACE_OBSTACK=0 REPLACE_OBSTACK_PRINTF=0 \
  74. bin_PROGRAMS='$(PKG_PROGRAMS)' EXEEXT=
  75. HOST_CPPFLAGS += "'-I$$$$(top_srcdir)/lib'"
  76. ifeq ($(HOST_OS),Darwin)
  77. HOST_CFLAGS += -I/opt/homebrew/include
  78. endif
  79. HOST_CFLAGS += -Wno-error -fPIC -std=gnu17
  80. HOST_CONFIGURE_ARGS += \
  81. --enable-maintainer-mode \
  82. --without-libintl-prefix \
  83. --without-libiconv-prefix \
  84. --disable-debuginfod \
  85. --disable-libdebuginfod \
  86. --disable-nls \
  87. --disable-shared \
  88. --enable-static \
  89. --without-lzma \
  90. --without-bzlib \
  91. --without-zstd
  92. ifeq ($(HOST_OS),Darwin)
  93. HOST_CONFIGURE_ARGS += --disable-symbol-versioning
  94. endif
  95. HOST_CONFIGURE_VARS += \
  96. ac_cv_search_argp_parse=yes \
  97. ac_cv_search_fts_close=yes \
  98. ac_cv_search__obstack_free=yes \
  99. ac_cv_buildid=yes
  100. Hooks/HostConfigure/Pre := Host/Gnulib/Prepare $(Hooks/HostConfigure/Pre)
  101. Hooks/HostCompile/Pre := Host/Gnulib/Compile $(Hooks/HostCompile/Pre)
  102. define Host/Configure
  103. $(call Host/Configure/Default)
  104. $(call Host/Uninstall)
  105. endef
  106. define Host/Uninstall
  107. -$(call Host/Compile/Default,uninstall)
  108. -$(call Host/Compile/Default,maintainer-clean) # Clean bootstrap files from the release
  109. endef
  110. $(eval $(call HostBuild))