imagemagick.mk 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  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. ifeq ($(BR2_LARGEFILE),y)
  31. IMAGEMAGICK_CONF_OPTS = ac_cv_sys_file_offset_bits=64
  32. else
  33. IMAGEMAGICK_CONF_OPTS = ac_cv_sys_file_offset_bits=32
  34. endif
  35. $(IMAGEMAGICK_DIR)/.configured: $(IMAGEMAGICK_DIR)/.unpacked
  36. (cd $(IMAGEMAGICK_DIR); rm -f config.cache; \
  37. $(TARGET_CONFIGURE_OPTS) \
  38. $(TARGET_CONFIGURE_ARGS) \
  39. ./configure $(QUIET) \
  40. --target=$(GNU_TARGET_NAME) \
  41. --host=$(GNU_TARGET_NAME) \
  42. --build=$(GNU_HOST_NAME) \
  43. --prefix=/usr \
  44. --sysconfdir=/etc \
  45. --without-perl \
  46. --without-wmf \
  47. --without-xml \
  48. --without-rsvg \
  49. --without-openexr \
  50. --without-jp2 \
  51. --without-jbig \
  52. --without-gvc \
  53. --without-djvu \
  54. --without-dps \
  55. --without-gslib \
  56. --without-fpx \
  57. --without-freetype \
  58. --without-x \
  59. $(IMAGEMAGICK_CONF_OPTS) \
  60. )
  61. touch $@
  62. $(IMAGEMAGICK_DIR)/.compiled: $(IMAGEMAGICK_DIR)/.configured
  63. $(MAKE) -C $(IMAGEMAGICK_DIR)
  64. touch $@
  65. $(STAGING_DIR)/usr/lib/libMagickCore.a: $(IMAGEMAGICK_DIR)/.compiled
  66. $(MAKE) DESTDIR=$(STAGING_DIR) -C $(IMAGEMAGICK_DIR) install
  67. touch -c $@
  68. $(IMAGEMAGICK_LIB): $(STAGING_DIR)/usr/lib/libMagickCore.a
  69. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/lib/libMagickWand.so* $(TARGET_DIR)/usr/lib/
  70. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libMagickWand.so*
  71. mkdir -p $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)
  72. $(IMAGEMAGICK_COPY) -r $(STAGING_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR) $(TARGET_DIR)/usr/lib
  73. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/lib/libMagickCore.so* $(TARGET_DIR)/usr/lib/
  74. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(IMAGEMAGICK_LIB)*
  75. touch -c $@
  76. $(IMAGEMAGICK_DIR)/.libinstall: $(IMAGEMAGICK_LIB)
  77. $(IMAGEMAGICK_DIR)/libtool --finish $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)/modules-Q16/coders
  78. $(IMAGEMAGICK_DIR)/libtool --finish $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)/modules-Q16/filters
  79. touch $@
  80. $(TARGET_DIR)/usr/bin/animate: $(IMAGEMAGICK_LIB)
  81. ls -l $(IMAGEMAGICK_LIB) >> datefile
  82. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-animate $(TARGET_DIR)/usr/bin/animate
  83. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/animate
  84. touch $@
  85. $(TARGET_DIR)/usr/bin/compare: $(IMAGEMAGICK_LIB)
  86. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-compare $(TARGET_DIR)/usr/bin/compare
  87. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/compare
  88. touch $@
  89. $(TARGET_DIR)/usr/bin/composite: $(IMAGEMAGICK_LIB)
  90. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-composite $(TARGET_DIR)/usr/bin/composite
  91. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/composite
  92. touch $@
  93. $(TARGET_DIR)/usr/bin/conjure: $(IMAGEMAGICK_LIB)
  94. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-conjure $(TARGET_DIR)/usr/bin/conjure
  95. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/conjure
  96. touch $@
  97. $(TARGET_DIR)/usr/bin/display: $(IMAGEMAGICK_LIB)
  98. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-display $(TARGET_DIR)/usr/bin/display
  99. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/display
  100. touch $@
  101. $(TARGET_DIR)/usr/bin/import: $(IMAGEMAGICK_LIB)
  102. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-import $(TARGET_DIR)/usr/bin/import
  103. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/import
  104. touch $@
  105. $(TARGET_DIR)/usr/bin/mogrify: $(IMAGEMAGICK_LIB)
  106. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-mogrify $(TARGET_DIR)/usr/bin/mogrify
  107. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/mogrify
  108. touch $@
  109. $(TARGET_DIR)/usr/bin/montage: $(IMAGEMAGICK_LIB)
  110. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-montage $(TARGET_DIR)/usr/bin/montage
  111. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/montage
  112. touch $@
  113. $(TARGET_DIR)/usr/bin/convert: $(IMAGEMAGICK_LIB)
  114. $(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-convert $(TARGET_DIR)/usr/bin/convert
  115. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/convert
  116. touch $@
  117. imagemagick: jpeg tiff $(IMAGEMAGICK_LIB) \
  118. $(IMAGEMAGICK_DIR)/.libinstall \
  119. $(IMAGEMAGICK_TARGET_BINARIES)
  120. imagemagick-source: $(DL_DIR)/$(IMAGEMAGICK_SOURCE)
  121. imagemagick-unpacked:$(IMAGEMAGICK_DIR)/.unpacked
  122. imagemagick-clean:
  123. for target_binary in $(IMAGEMAGICK_TARGET_BINARIES); do \
  124. rm -f $$target_binary; \
  125. done
  126. rm -rf $(TARGET_DIR)/usr/lib/libMagick*
  127. rm -rf $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)
  128. -$(MAKE) -C $(IMAGEMAGICK_DIR) clean
  129. imagemagick-dirclean:
  130. rm -rf $(IMAGEMAGICK_DIR)
  131. #############################################################
  132. #
  133. # Toplevel Makefile options
  134. #
  135. #############################################################
  136. ifeq ($(BR2_PACKAGE_IMAGEMAGICK),y)
  137. TARGETS+=imagemagick
  138. endif