common.mk 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #
  2. # Copyright (C) 2012-2013 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. include $(INCLUDE_DIR)/target.mk
  9. PKG_NAME:=musl
  10. PKG_VERSION:=1.2.5
  11. PKG_RELEASE:=1
  12. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  13. PKG_SOURCE_URL:=https://musl.libc.org/releases/
  14. PKG_HASH:=a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4
  15. PKG_CPE_ID:=cpe:/a:musl-libc:musl
  16. LIBC_SO_VERSION:=$(PKG_VERSION)
  17. PATCH_DIR:=$(PATH_PREFIX)/patches
  18. BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN)
  19. HOST_BUILD_PREFIX:=$(TOOLCHAIN_DIR)
  20. HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)-$(PKG_VERSION)
  21. include $(INCLUDE_DIR)/host-build.mk
  22. include $(INCLUDE_DIR)/hardening.mk
  23. TARGET_CFLAGS:= $(filter-out -O%,$(TARGET_CFLAGS))
  24. TARGET_CFLAGS+= $(if $(CONFIG_MUSL_DISABLE_CRYPT_SIZE_HACK),,-DCRYPT_SIZE_HACK)
  25. MUSL_CONFIGURE:= \
  26. $(TARGET_CONFIGURE_OPTS) \
  27. CFLAGS="$(TARGET_CFLAGS)" \
  28. CROSS_COMPILE="$(TARGET_CROSS)" \
  29. $(HOST_BUILD_DIR)/configure \
  30. --prefix=/ \
  31. --host=$(GNU_HOST_NAME) \
  32. --target=$(REAL_GNU_TARGET_NAME) \
  33. --disable-gcc-wrapper \
  34. --enable-debug \
  35. --enable-optimize
  36. define Host/Configure
  37. ln -snf $(PKG_NAME)-$(PKG_VERSION) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
  38. ( cd $(HOST_BUILD_DIR); rm -f config.cache; \
  39. $(MUSL_CONFIGURE) \
  40. );
  41. endef
  42. define Host/Clean
  43. rm -rf \
  44. $(HOST_BUILD_DIR) \
  45. $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME) \
  46. $(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev
  47. endef