Makefile 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. PKG_NAME:= perl
  5. PKG_VERSION:= 5.40.2
  6. PKG_RELEASE:= 1
  7. PKG_HASH:= 0551c717458e703ef7972307ab19385edfa231198d88998df74e12226abf563b
  8. PKG_DESCR:= perl interpreter
  9. PKG_SECTION:= dev/lang
  10. PKG_NEEDS:= threads
  11. PKG_URL:= http://www.perl.org/
  12. PKG_SITES:= http://www.cpan.org/src/
  13. PKG_NOPARALLEL:= 1
  14. PC_VERSION:= 1.6.2
  15. PC_SITE:= https://github.com/arsv/perl-cross/releases/download/$(PC_VERSION)
  16. include ${ADK_TOPDIR}/mk/host.mk
  17. include ${ADK_TOPDIR}/mk/package.mk
  18. $(eval $(call HOST_template,PERL,perl,${PKG_VERSION}-${PKG_RELEASE}))
  19. $(eval $(call PKG_template,PERL,perl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  20. HOST_STYLE:= manual
  21. INSTALL_TARGET:= install.perl
  22. CONFIG_STYLE:= minimal
  23. CONFIGURE_ARGS:= --target=$(GNU_TARGET_NAME) \
  24. --target-tools-prefix=$(TARGET_CROSS) \
  25. --prefix=/usr \
  26. -Dld="$(TARGET_CC)" \
  27. -Dccflags="$(TARGET_CFLAGS)" \
  28. -Dldflags="$(TARGET_LDFLAGS) -lm" \
  29. -Dmydomain="" \
  30. -Dmyuname="$(ADK_VENDOR)" \
  31. -Dosname=linux \
  32. -Dosvers=4.0 \
  33. -Dperladmin=root \
  34. -Ud_strlcat \
  35. -Ud_strlcpy
  36. ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
  37. CONFIGURE_ARGS+= --all-static --no-dynaloader
  38. endif
  39. host-configure:
  40. (cd ${WRKBUILD}; ${BASH} ./Configure -des -Duseperlio -Dprefix=${STAGING_HOST_DIR}/usr)
  41. perl-hostinstall:
  42. (cd ${WRKBUILD} && env CC_FOR_BUILD="gcc" ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
  43. ${HOST_MAKE_FLAGS} ${HOST_INSTALL_TARGET})
  44. mv ${STAGING_HOST_DIR}/usr/bin/perl ${STAGING_HOST_DIR}/usr/bin/perl-host
  45. pre-configure:
  46. (if [ ! -f $(DL_DIR)/perl-cross-$(PC_VERSION).tar.gz ]; then \
  47. cd $(DL_DIR); wget $(PC_SITE)/perl-cross-$(PC_VERSION).tar.gz; \
  48. fi)
  49. (cd $(WRKSRC); tar --strip-components=1 -xf $(DL_DIR)/perl-cross-$(PC_VERSION).tar.gz)
  50. $(CP) $(SCRIPT_DIR)/config.* $(WRKSRC)/cnf
  51. perl-install:
  52. ${INSTALL_DIR} ${IDIR_PERL}/usr/bin
  53. ${INSTALL_DIR} ${IDIR_PERL}/usr/lib/perl5/${PKG_VERSION}
  54. ${CP} ${WRKINST}/usr/lib/perl5/${PKG_VERSION}/* \
  55. ${IDIR_PERL}/usr/lib/perl5/${PKG_VERSION}
  56. ${INSTALL_BIN} ${WRKINST}/usr/bin/perl ${IDIR_PERL}/usr/bin/
  57. rm -rf $(IDIR_PERL)/usr/lib/perl5/pod
  58. find $(IDIR_PERL)/usr/lib/perl5/ -name 'extralibs.ld' -print0 | xargs -0 rm -f
  59. find $(IDIR_PERL)/usr/lib/perl5/ -name '*.bs' -print0 | xargs -0 rm -f
  60. find $(IDIR_PERL)/usr/lib/perl5/ -name '.packlist' -print0 | xargs -0 rm -f
  61. include ${ADK_TOPDIR}/mk/host-bottom.mk
  62. include ${ADK_TOPDIR}/mk/pkg-bottom.mk