Browse Source

Ensure each target is copied, run libtool --finish

Ulf Samuelsson 18 years ago
parent
commit
fff865894d
1 changed files with 65 additions and 21 deletions
  1. 65 21
      package/imagemagick/imagemagick.mk

+ 65 - 21
package/imagemagick/imagemagick.mk

@@ -8,9 +8,21 @@ IMAGEMAGICK_SOURCE:=ImageMagick.tar.bz2
 IMAGEMAGICK_SITE:=ftp://ftp.imagemagick.org/pub/ImageMagick
 IMAGEMAGICK_DIR:=$(BUILD_DIR)/ImageMagick-$(IMAGEMAGICK_VERSION)
 IMAGEMAGICK_CAT:=$(BZCAT)
-IMAGEMAGICK_BINARY:=convert
-IMAGEMAGICK_TARGET_BINARY:=usr/bin/$(IMAGEMAGICK_BINARY)
+#IMAGEMAGICK_BINARY:=convert
+#IMAGEMAGICK_TARGET_BINARY:=usr/bin/$(IMAGEMAGICK_BINARY)
+IMAGEMAGICK_LIB:=$(TARGET_DIR)/usr/lib/libMagick.so
 
+IMAGEMAGICK_TARGET_BINARIES:=$(TARGET_DIR)/usr/bin/animate
+IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/compare
+IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/composite
+IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/conjure
+IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/display
+IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/import
+IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/mogrify
+IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/montage
+IMAGEMAGICK_TARGET_BINARIES+=$(TARGET_DIR)/usr/bin/convert
+
+IMAGEMAGICK_COPY:=cp -df --preserve=mode,ownership
 $(DL_DIR)/$(IMAGEMAGICK_SOURCE):
 	$(WGET) -P $(DL_DIR) $(IMAGEMAGICK_SITE)/$(IMAGEMAGICK_SOURCE)
 
@@ -55,37 +67,69 @@ $(STAGING_DIR)/usr/lib/libMagick.a: $(IMAGEMAGICK_DIR)/.compiled
 	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(IMAGEMAGICK_DIR) install
 	touch -c $@
 
-$(TARGET_DIR)/usr/lib/libMagick.so: $(STAGING_DIR)/usr/lib/libMagick.a
-	cp -dpf $(STAGING_DIR)/usr/lib/libMagick.so* $(TARGET_DIR)/usr/lib/
-	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libMagick.so*
-	cp -dpf $(STAGING_DIR)/usr/lib/libWand.so* $(TARGET_DIR)/usr/lib/
+$(IMAGEMAGICK_LIB): $(STAGING_DIR)/usr/lib/libMagick.a
+	$(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/lib/libWand.so* $(TARGET_DIR)/usr/lib/
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libWand.so*
+	mkdir -p $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_VERSION)
+	$(IMAGEMAGICK_COPY) -r $(STAGING_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_VERSION) $(TARGET_DIR)/usr/lib
+	$(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/lib/libMagick.so* $(TARGET_DIR)/usr/lib/
+	-$(STRIP) --strip-unneeded $(IMAGEMAGICK_LIB)*
 	touch -c $@
 
-$(TARGET_DIR)/$(IMAGEMAGICK_TARGET_BINARY): $(TARGET_DIR)/usr/lib/libMagick.so
-	cp -dpf $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-animate $(TARGET_DIR)/usr/bin/animate
+$(IMAGEMAGICK_DIR)/.libinstall:	$(IMAGEMAGICK_LIB)
+	libtool	--finish $(TARGET_DIR)/usr/lib/ImageMagick-6.3.5/modules-Q16/coders
+	libtool	--finish $(TARGET_DIR)/usr/lib/ImageMagick-6.3.5/modules-Q16/filters
+	touch	$@
+
+$(TARGET_DIR)/usr/bin/animate: $(IMAGEMAGICK_LIB)
+	ls -l $(IMAGEMAGICK_LIB) >> datefile
+	$(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-animate $(TARGET_DIR)/usr/bin/animate
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/bin/animate
-	cp -dpf $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-compare $(TARGET_DIR)/usr/bin/compare
+	touch	$@
+
+$(TARGET_DIR)/usr/bin/compare: $(IMAGEMAGICK_LIB)
+	$(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-compare $(TARGET_DIR)/usr/bin/compare
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/bin/compare
-	cp -dpf $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-composite $(TARGET_DIR)/usr/bin/composite
+	touch	$@
+
+$(TARGET_DIR)/usr/bin/composite: $(IMAGEMAGICK_LIB)
+	$(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-composite $(TARGET_DIR)/usr/bin/composite
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/bin/composite
-	cp -dpf $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-conjure $(TARGET_DIR)/usr/bin/conjure
+	touch	$@
+
+$(TARGET_DIR)/usr/bin/conjure: $(IMAGEMAGICK_LIB)
+	$(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-conjure $(TARGET_DIR)/usr/bin/conjure
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/bin/conjure
-	cp -dpf $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-convert $(TARGET_DIR)/usr/bin/convert
-	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/bin/convert
-	cp -dpf $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-display $(TARGET_DIR)/usr/bin/display
+	touch	$@
+
+$(TARGET_DIR)/usr/bin/display: $(IMAGEMAGICK_LIB)
+	$(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-display $(TARGET_DIR)/usr/bin/display
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/bin/display
-	cp -dpf $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-import $(TARGET_DIR)/usr/bin/import
+	touch	$@
+
+$(TARGET_DIR)/usr/bin/import: $(IMAGEMAGICK_LIB)
+	$(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-import $(TARGET_DIR)/usr/bin/import
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/bin/import
-	cp -dpf $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-mogrify $(TARGET_DIR)/usr/bin/mogrify
+	touch	$@
+
+$(TARGET_DIR)/usr/bin/mogrify: $(IMAGEMAGICK_LIB)
+	$(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-mogrify $(TARGET_DIR)/usr/bin/mogrify
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/bin/mogrify
-	cp -dpf $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-montage $(TARGET_DIR)/usr/bin/montage
+	touch	$@
+
+$(TARGET_DIR)/usr/bin/montage: $(IMAGEMAGICK_LIB)
+	$(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-montage $(TARGET_DIR)/usr/bin/montage
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/bin/montage
-	mkdir -p $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_VERSION)
-	cp -dpfr $(STAGING_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_VERSION) $(TARGET_DIR)/usr/lib
-	touch -c $@
+	touch	$@
+
+$(TARGET_DIR)/usr/bin/convert:	$(IMAGEMAGICK_LIB)
+	$(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-convert $(TARGET_DIR)/usr/bin/convert
+	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/bin/convert
+	touch	$@
 
-imagemagick: uclibc jpeg tiff $(TARGET_DIR)/usr/lib/libMagick.so $(TARGET_DIR)/$(IMAGEMAGICK_TARGET_BINARY)
+imagemagick: uclibc jpeg tiff $(IMAGEMAGICK_LIB) \
+		$(IMAGEMAGICK_DIR)/.libinstall	\
+		$(IMAGEMAGICK_TARGET_BINARIES)
 
 imagemagick-clean:
 	rm -f $(TARGET_DIR)/$(IMAGEMAGICK_TARGET_BINARY)