# Makefile for applications/3pp/gtk+-1.2.10


### Requires these modules

REQUIRES += applications/3pp/glib-1.2.10
REQUIRES += link/3pp/xfree86


### Component specification

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


### Tar archive

tar_archive = $(CURDIR)/gtk+-1.2.10.tar.gz
src_dir     = $(CURDIR)/$(TARGET)/gtk+-1.2.10
obj_dir     = $(CURDIR)/$(TARGET)/build


### Targets

BIN_TARGETS  = $(obj_dir)/gtk-config

LIB_TARGETS  = $(obj_dir)/gdk/.libs/libgdk-1.2.so.0.9.1
LIB_TARGETS += $(obj_dir)/gdk/.libs/libgdk-1.2.so.0
LIB_TARGETS += $(obj_dir)/gdk/.libs/libgdk.so
LIB_TARGETS += $(obj_dir)/gtk/.libs/libgtk-1.2.so.0.9.1
LIB_TARGETS += $(obj_dir)/gtk/.libs/libgtk-1.2.so.0
LIB_TARGETS += $(obj_dir)/gtk/.libs/libgtk.so

OTHER_TARGETS += $(TARGET_INSTALL_DIR)/include/gtk

INTERFACE_LIBS  = gdk
INTERFACE_LIBS += gtk

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

### Extra cleanup

CLEANUP_FILES += $(src_dir) $(obj_dir)


### Common.mk

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


### Target setup


### Dependencies

$(src_dir)/configure: $(tar_archive)
	@echo Expanding $(tar_archive)
	@mkdir -p $(TARGET)
	@cd $(TARGET) && tar xfz $(tar_archive)
	@cd $(src_dir) && patch -p1 < $(CURDIR)/ltconfig.patch
	@cd $(src_dir) && patch -p1 < $(CURDIR)/gdk.h.patch
	@cd $(src_dir) && patch -p1 < $(CURDIR)/gdkevents.c.patch
	@cd $(src_dir) && patch -p1 < $(CURDIR)/gdkselection.c.patch
	@cd $(src_dir) && patch -p1 < $(CURDIR)/file_check.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 -p $(obj_dir)
	@cd $(obj_dir) && \
	  $(BSG_DEVSETUP) X_EXTRA_LIBS="$(EXTRA_LIBS)" $(src_dir)/configure \
	    --prefix=/usr \
	    --build=$(ARCH_BUILD) \
	    --host=$(TARGET_ARCH) \
	    --target=$(TARGET_ARCH) \
	    --disable-debug \
	    --disable-glibtest \
	    --with-glib-prefix=$(TARGET_INSTALL_DIR) \
	    --x-includes=$(TARGET_3PP_DIST_DIR)/include \
	    --x-libraries=$(TARGET_3PP_DIST_DIR)/lib

$(LIB_TARGETS): $(obj_dir)/Makefile
	cd $(obj_dir) && $(BSG_DEVSETUP) $(MAKE)

$(TARGET_INSTALL_DIR)/include/gtk: $(src_dir)/configure
	@echo "Installing gtk headers"
	@mkdir -p $(TARGET_INSTALL_DIR)/include/gtk
	@cp -a $(src_dir)/gtk/*.h $(TARGET_INSTALL_DIR)/include/gtk
	@echo "Installing gdk headers"
	@mkdir -p $(TARGET_INSTALL_DIR)/include/gdk
	@cp -a $(src_dir)/gdk/*.h $(TARGET_INSTALL_DIR)/include/gdk
	@touch $(TARGET_INSTALL_DIR)/include/gtk

$(BIN_TARGETS): $(LIB_TARGETS)
	@touch $(obj_dir)/gtk-config

examples: $(src_dir)/configure
	perl -pi -e 's/\`gtk-config --cflags\`/\$$(CFLAGS)/' $(src_dir)/examples/*/Makefile
	perl -pi -e 's/\`gtk-config --libs\`/\$$(LDFLAGS)/' $(src_dir)/examples/*/Makefile
	$(BSG_DEVSETUP) $(MAKE) -C $(src_dir)/examples CC=$(CC) LDFLAGS="$(LDFLAGS) -Wl,-rpath-link,$(TARGET_3PP_DIST_DIR)/lib -lgdk -lgtk -lX11 -lXext"

.PHONY:	examples
