imagemagick.mk 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. #############################################################
  2. #
  3. # imagemagick
  4. #
  5. #############################################################
  6. IMAGEMAGICK_MAJOR:=6.4.8
  7. IMAGEMAGICK_VERSION:=$(IMAGEMAGICK_MAJOR)-4
  8. IMAGEMAGICK_SOURCE:=ImageMagick-$(IMAGEMAGICK_VERSION).tar.bz2
  9. IMAGEMAGICK_SITE:=ftp://ftp.imagemagick.org/pub/ImageMagick
  10. IMAGEMAGICK_DIR:=$(BUILD_DIR)/ImageMagick-$(IMAGEMAGICK_VERSION)
  11. IMAGEMAGICK_CAT:=$(BZCAT)
  12. IMAGEMAGICK_LIB:=$(TARGET_DIR)/usr/lib/libMagickCore.so
  13. IMAGEMAGICK_TARGET_BINARIES:=$(TARGET_DIR)/usr/bin/animate
  14. IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/compare
  15. IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/composite
  16. IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/conjure
  17. IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/display
  18. IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/import
  19. IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/mogrify
  20. IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/montage
  21. IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/convert
  22. IMAGEMAGICK_COPY:=cp -df --preserve=mode,ownership
  23. $(DL_DIR)/$(IMAGEMAGICK_SOURCE):
  24. $(call DOWNLOAD,$(IMAGEMAGICK_SITE),$(IMAGEMAGICK_SOURCE))
  25. $(IMAGEMAGICK_DIR)/.unpacked: $(DL_DIR)/$(IMAGEMAGICK_SOURCE)
  26. $(IMAGEMAGICK_CAT) $(DL_DIR)/$(IMAGEMAGICK_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  27. toolchain/patch-kernel.sh $(IMAGEMAGICK_DIR) package/imagemagick/ imagemagick-$(IMAGEMAGICK_VERSION)\*.patch\*
  28. $(CONFIG_UPDATE) $(IMAGEMAGICK_DIR)/config
  29. touch $@
  30. $(IMAGEMAGICK_DIR)/.configured: $(IMAGEMAGICK_DIR)/.unpacked
  31. (cd $(IMAGEMAGICK_DIR); rm -f config.cache; \
  32. $(TARGET_CONFIGURE_OPTS) \
  33. $(TARGET_CONFIGURE_ARGS) \
  34. ./configure $(QUIET) \
  35. --target=$(GNU_TARGET_NAME) \
  36. --host=$(GNU_TARGET_NAME) \
  37. --build=$(GNU_HOST_NAME) \
  38. --prefix=/usr \
  39. --sysconfdir=/etc \
  40. --without-perl \
  41. --without-wmf \
  42. --without-xml \
  43. --without-rsvg \
  44. --without-openexr \
  45. --without-jp2 \
  46. --without-jbig \
  47. --without-gvc \
  48. --without-djvu \
  49. --without-dps \
  50. --without-gslib \
  51. --without-fpx \
  52. --without-freetype \
  53. --without-x \
  54. )
  55. touch $@
  56. $(IMAGEMAGICK_DIR)/.compiled: $(IMAGEMAGICK_DIR)/.configured
  57. $(MAKE) -C $(IMAGEMAGICK_DIR)
  58. touch $@
  59. $(STAGING_DIR)/usr/lib/libMagickCore.a: $(IMAGEMAGICK_DIR)/.compiled
  60. $(MAKE) DESTDIR=$(STAGING_DIR) -C $(IMAGEMAGICK_DIR) install
  61. touch -c $@
  62. $(IMAGEMAGICK_LIB): $(STAGING_DIR)/usr/lib/libMagickCore.a
  63. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/lib/libMagickWand.so* $(TARGET_DIR)/usr/lib/
  64. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libMagickWand.so*
  65. mkdir -p $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)
  66. $(IMAGEMAGICK_COPY) -r $(STAGING_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR) $(TARGET_DIR)/usr/lib
  67. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/lib/libMagickCore.so* $(TARGET_DIR)/usr/lib/
  68. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(IMAGEMAGICK_LIB)*
  69. touch -c $@
  70. $(IMAGEMAGICK_DIR)/.libinstall: $(IMAGEMAGICK_LIB)
  71. libtool --finish $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)/modules-Q16/coders
  72. libtool --finish $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)/modules-Q16/filters
  73. touch $@
  74. $(TARGET_DIR)/usr/bin/animate: $(IMAGEMAGICK_LIB)
  75. ls -l $(IMAGEMAGICK_LIB) >> datefile
  76. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-animate $(TARGET_DIR)/usr/bin/animate
  77. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/animate
  78. touch $@
  79. $(TARGET_DIR)/usr/bin/compare: $(IMAGEMAGICK_LIB)
  80. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-compare $(TARGET_DIR)/usr/bin/compare
  81. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/compare
  82. touch $@
  83. $(TARGET_DIR)/usr/bin/composite: $(IMAGEMAGICK_LIB)
  84. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-composite $(TARGET_DIR)/usr/bin/composite
  85. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/composite
  86. touch $@
  87. $(TARGET_DIR)/usr/bin/conjure: $(IMAGEMAGICK_LIB)
  88. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-conjure $(TARGET_DIR)/usr/bin/conjure
  89. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/conjure
  90. touch $@
  91. $(TARGET_DIR)/usr/bin/display: $(IMAGEMAGICK_LIB)
  92. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-display $(TARGET_DIR)/usr/bin/display
  93. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/display
  94. touch $@
  95. $(TARGET_DIR)/usr/bin/import: $(IMAGEMAGICK_LIB)
  96. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-import $(TARGET_DIR)/usr/bin/import
  97. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/import
  98. touch $@
  99. $(TARGET_DIR)/usr/bin/mogrify: $(IMAGEMAGICK_LIB)
  100. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-mogrify $(TARGET_DIR)/usr/bin/mogrify
  101. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/mogrify
  102. touch $@
  103. $(TARGET_DIR)/usr/bin/montage: $(IMAGEMAGICK_LIB)
  104. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-montage $(TARGET_DIR)/usr/bin/montage
  105. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/montage
  106. touch $@
  107. $(TARGET_DIR)/usr/bin/convert: $(IMAGEMAGICK_LIB)
  108. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-convert $(TARGET_DIR)/usr/bin/convert
  109. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/convert
  110. touch $@
  111. imagemagick: jpeg tiff $(IMAGEMAGICK_LIB) \
  112. $(IMAGEMAGICK_DIR)/.libinstall \
  113. $(IMAGEMAGICK_TARGET_BINARIES)
  114. imagemagick-source: $(DL_DIR)/$(IMAGEMAGICK_SOURCE)
  115. imagemagick-unpacked:$(IMAGEMAGICK_DIR)/.unpacked
  116. imagemagick-clean:
  117. for target_binary in $(IMAGEMAGICK_TARGET_BINARIES); do \
  118. rm -f $$target_binary; \
  119. done
  120. rm -rf $(TARGET_DIR)/usr/lib/libMagick*
  121. rm -rf $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)
  122. -$(MAKE) -C $(IMAGEMAGICK_DIR) clean
  123. imagemagick-dirclean:
  124. rm -rf $(IMAGEMAGICK_DIR)
  125. #############################################################
  126. #
  127. # Toplevel Makefile options
  128. #
  129. #############################################################
  130. ifeq ($(BR2_PACKAGE_IMAGEMAGICK),y)
  131. TARGETS+=imagemagick
  132. endif