freetype.mk 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. #############################################################
  2. #
  3. # freetype
  4. #
  5. #############################################################
  6. FREETYPE_VERSION:=$(strip $(subst ",, $(BR2_FREETYPE_VERSION)))
  7. FREETYPE_SOURCE:=freetype-$(FREETYPE_VERSION).tar.bz2
  8. FREETYPE_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/freetype
  9. FREETYPE_CAT:=$(BZCAT)
  10. FREETYPE_DIR:=$(BUILD_DIR)/freetype-$(FREETYPE_VERSION)
  11. FREETYPE_DIR1:=$(TOOL_BUILD_DIR)/freetype-$(FREETYPE_VERSION)
  12. FREETYPE_HOST_DIR:=$(TOOL_BUILD_DIR)/freetype-$(FREETYPE_VERSION)-host
  13. $(DL_DIR)/$(FREETYPE_SOURCE):
  14. $(WGET) -P $(DL_DIR) $(FREETYPE_SITE)/$(FREETYPE_SOURCE)
  15. $(FREETYPE_DIR)/.unpacked: $(DL_DIR)/$(FREETYPE_SOURCE)
  16. $(FREETYPE_CAT) $(DL_DIR)/$(FREETYPE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  17. $(CONFIG_UPDATE) $(FREETYPE_DIR)
  18. touch $(FREETYPE_DIR)/.unpacked
  19. # freetype for the target
  20. $(FREETYPE_DIR)/.configured: $(FREETYPE_DIR)/.unpacked
  21. (cd $(FREETYPE_DIR); rm -f config.cache; \
  22. $(TARGET_CONFIGURE_OPTS) \
  23. $(TARGET_CONFIGURE_ARGS) \
  24. ./configure \
  25. --target=$(GNU_TARGET_NAME) \
  26. --host=$(GNU_TARGET_NAME) \
  27. --build=$(GNU_HOST_NAME) \
  28. --prefix=/usr \
  29. --exec-prefix=/usr \
  30. --bindir=/usr/bin \
  31. --sbindir=/usr/sbin \
  32. --libdir=/lib \
  33. --libexecdir=/usr/lib \
  34. --sysconfdir=/etc \
  35. --datadir=/usr/share \
  36. --localstatedir=/var \
  37. --includedir=/usr/include \
  38. --mandir=/usr/man \
  39. --infodir=/usr/info \
  40. )
  41. touch $(FREETYPE_DIR)/.configured
  42. $(FREETYPE_DIR)/.compiled: $(FREETYPE_DIR)/.configured
  43. $(MAKE) CCexe="$(HOSTCC)" -C $(FREETYPE_DIR)
  44. touch $(FREETYPE_DIR)/.compiled
  45. $(STAGING_DIR)/usr/include/freetype:
  46. ln -sf ./freetype2/freetype $(STAGING_DIR)/usr/include/freetype
  47. #$(STAGING_DIR)/include/freetype:
  48. # mkdir -p $(STAGING_DIR)/include
  49. # ln -sf ../usr/include/freetype2/freetype $(STAGING_DIR)/include/freetype
  50. $(STAGING_DIR)/lib/libfreetype.so: $(FREETYPE_DIR)/.compiled
  51. $(MAKE) DESTDIR=$(STAGING_DIR) -C $(FREETYPE_DIR) install
  52. $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libfreetype.la
  53. $(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)\',g" \
  54. -e "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g" \
  55. -e "s,^includedir=.*,includedir=\'$(STAGING_DIR)/usr/include\',g" \
  56. -e "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" \
  57. $(STAGING_DIR)/usr/bin/freetype-config
  58. touch -c $(STAGING_DIR)/lib/libfreetype.so
  59. $(TARGET_DIR)/lib/libfreetype.so: $(STAGING_DIR)/lib/libfreetype.so
  60. cp -dpf $(STAGING_DIR)/lib/libfreetype.so* $(TARGET_DIR)/lib/
  61. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/lib/libfreetype.so
  62. # freetype for the host, needed for build-tools of fontconfig
  63. # great, it can't be built out of tree reliably
  64. $(FREETYPE_DIR1)/.unpacked: $(DL_DIR)/$(FREETYPE_SOURCE)
  65. $(FREETYPE_CAT) $(DL_DIR)/$(FREETYPE_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
  66. touch $(FREETYPE_DIR1)/.unpacked
  67. $(FREETYPE_DIR1)/.configured: $(FREETYPE_DIR1)/.unpacked
  68. (cd $(FREETYPE_DIR1); \
  69. ./configure \
  70. CC="$(HOSTCC)" \
  71. --prefix="$(FREETYPE_HOST_DIR)" \
  72. )
  73. touch $(FREETYPE_DIR1)/.configured
  74. $(FREETYPE_DIR1)/.compiled: $(FREETYPE_DIR1)/.configured
  75. $(MAKE) CCexe="$(HOSTCC)" -C $(FREETYPE_DIR1)
  76. touch $(FREETYPE_DIR1)/.compiled
  77. $(FREETYPE_HOST_DIR)/lib/libfreetype.so: $(FREETYPE_DIR1)/.configured
  78. $(MAKE) -C $(FREETYPE_DIR1) install
  79. touch -c $@
  80. .PHONY: freetype freetype-source freetype-links freetype-clean freetype-dirclean
  81. freetype: uclibc pkgconfig $(TARGET_DIR)/lib/libfreetype.so freetype-links
  82. freetype-source: $(DL_DIR)/$(FREETYPE_SOURCE)
  83. freetype-links: $(STAGING_DIR)/usr/include/freetype # $(STAGING_DIR)/include/freetype
  84. freetype-clean:
  85. $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(FREETYPE_DIR) uninstall
  86. -$(MAKE) -C $(FREETYPE_DIR) clean
  87. freetype-dirclean:
  88. rm -rf $(FREETYPE_DIR)
  89. .PHONY: host-freetype
  90. host-freetype: $(FREETYPE_HOST_DIR)/lib/libfreetype.so
  91. #############################################################
  92. #
  93. # Toplevel Makefile options
  94. #
  95. #############################################################
  96. ifeq ($(strip $(BR2_PACKAGE_FREETYPE)),y)
  97. TARGETS+=freetype
  98. endif