# Makefile for applications/3pp/gdk-pixbuf-0.13.0


### Requires these modules

REQUIRES += applications/3pp/glib-1.2.10
REQUIRES += applications/3pp/gtk+-1.2.10
REQUIRES += applications/3pp/libpng-1.2.8


### Component specification

COMPONENT_IS_3PP = true
COMPONENT_TARGETS = $(TARGET_NAME_VIP)
NEEDS_ABS_PATHS = true


### Tar archive

tar_archive = $(CURDIR)/gdk-pixbuf-0.13.0.tar.gz
src_dir     = $(CURDIR)/$(TARGET)/gdk-pixbuf-0.13.0
obj_dir     = $(CURDIR)/$(TARGET)/build


### Targets

LIB_TARGETS += $(obj_dir)/gdk-pixbuf/.libs/libgdk_pixbuf.so.2.0.0
LIB_TARGETS += $(obj_dir)/gdk-pixbuf/.libs/libgdk_pixbuf.so.2
LIB_TARGETS += $(obj_dir)/gdk-pixbuf/.libs/libgdk_pixbuf.so

INTERFACE_HEADERS += $(src_dir)/gdk-pixbuf/gdk-pixbuf-features.h
INTERFACE_HEADERS += $(src_dir)/gdk-pixbuf/gdk-pixbuf-loader.h
INTERFACE_HEADERS += $(src_dir)/gdk-pixbuf/gdk-pixbuf-io.h
INTERFACE_HEADERS += $(src_dir)/gdk-pixbuf/gdk-pixbuf.h

INTERFACE_PATH = gdk-pixbuf
INTERFACE_OMIT_SOURCE_DIR = yes

INTERFACE_LIBS = gdk_pixbuf

OTHER_TARGETS += $(TARGET_INSTALL_DIR)/bin/gdk-pixbuf-config

DOC_TARGETS = $(src_dir)/COPYING
DOC_TARGETS += $(src_dir)/COPYING.LIB
DOC_TARGETS += $(src_dir)/AUTHORS
DOC_OMIT_SOURCE_DIR = yes
DOC_PATH = ../../doc/doc


### Control building of test programs

# (Building test programs doesn't work very well when cross-compiling,
# since they need libs in glib/gtk+ that we normally do not have.)
#build_test_programs = YES
test_prog_filter = $(if $(build_test_programs),,noinst_PROGRAMS="")


### Extra cleanup

CLEANUP_FILES += $(src_dir) .done


### Common.mk

include ../../../makesystem/common.mk


### Dependencies

$(src_dir)/configure: $(tar_archive)
	@echo Expanding $(tar_archive)
	@mkdir -p $(TARGET)
	@cd $(TARGET) && tar xfz $(tar_archive)
	@cat $(src_dir)/Makefile.in | \
	  sed "s,SUBDIRS = gdk-pixbuf demo doc,SUBDIRS = gdk-pixbuf doc," \
	    > $(src_dir)/Makefile.in_tmp`id -u` && \
	  mv $(src_dir)/Makefile.in_tmp`id -u` $(src_dir)/Makefile.in
	@cd $(src_dir) && patch -p1 < $(CURDIR)/no_tiff.patch
	@cd $(src_dir) && patch -p1 < $(CURDIR)/config.sub.patch
	@touch $(src_dir)/configure

$(obj_dir)/Makefile: $(src_dir)/configure
	@rm -rf $(obj_dir)
	@mkdir $(obj_dir)
	@cp config.cache $(obj_dir)
	@cd $(obj_dir) && \
	  $(BSG_DEVSETUP) \
	  $(src_dir)/configure \
	    --prefix=/usr \
	    --build=$(ARCH_BUILD) \
	    --host=$(TARGET_ARCH) \
	    --target=$(TARGET_ARCH) \
	    --with-x \
	    --x-includes=$(TARGET_3PP_DIST_DIR)/include \
	    --x-libraries=$(TARGET_3PP_DIST_DIR)/lib \
	    --with-gnu-ld \
	    --disable-debug \
	    --with-glib-prefix=$(TARGET_3PP_DIST_DIR) --disable-glibtest \
	    --with-gtk-prefix=$(TARGET_3PP_DIST_DIR) --disable-gtktest \
	    --disable-gtk-doc \
	    --enable-modules

.done: $(obj_dir)/Makefile
	$(BSG_DEVSETUP) $(MAKE) -C $(obj_dir) $(test_prog_filter)
	@touch .done

$(LIB_TARGETS): .done

$(INTERFACE_HEADERS): .done

$(OTHER_TARGETS): .done
	@echo "Installing gdk-pixbuf-config in $(TARGET_INSTALL_DIR)/bin"
	@mkdir -p $(TARGET_INSTALL_DIR)/bin
	@cat $(obj_dir)/gdk-pixbuf-config | \
	  sed "s,prefix=/usr,prefix=$(TARGET_INSTALL_DIR),g" >$@
	@chmod +x $@
