# Makefile for 3pp/glib-1.2.10


### Requires these modules

REQUIRES += base/c


### Component specification

COMPONENT_IS_3PP = true

COMPONENT_TARGETS  = $(TARGET_NAME_HOST)
COMPONENT_TARGETS += $(TARGET_NAME_VIP)
NEEDS_ABS_PATHS = true


### Tar archive

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


### Targets

BIN_TARGETS  = $(obj_dir)/glib-config

LIB_TARGETS  = $(obj_dir)/.libs/libglib-1.2.so.0.0.10
LIB_TARGETS += $(obj_dir)/.libs/libglib-1.2.so.0
LIB_TARGETS += $(obj_dir)/.libs/libglib.so
LIB_TARGETS += $(obj_dir)/gmodule/.libs/libgmodule-1.2.so.0.0.10
LIB_TARGETS += $(obj_dir)/gmodule/.libs/libgmodule-1.2.so.0
LIB_TARGETS += $(obj_dir)/gmodule/.libs/libgmodule.so
LIB_TARGETS += $(obj_dir)/gthread/.libs/libgthread-1.2.so.0.0.10
LIB_TARGETS += $(obj_dir)/gthread/.libs/libgthread-1.2.so.0
LIB_TARGETS += $(obj_dir)/gthread/.libs/libgthread.so

INTERFACE_HEADERS  = $(src_dir)/glib.h
INTERFACE_HEADERS += $(src_dir)/gmodule/gmodule.h
INTERFACE_HEADERS += $(obj_dir)/glibconfig.h
INTERFACE_HEADERS += $(obj_dir)/glibconfig-sysdefs.h
INTERFACE_HEADERS += $(obj_dir)/gmodule/gmoduleconf.h

INTERFACE_OMIT_SOURCE_DIR = yes

INTERFACE_LIBS = glib

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

### Extra cleanup

CLEANUP_FILES += $(src_dir) $(obj_dir)


### Common.mk

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


### Dependencies

$(src_dir)/configure: $(tar_archive)
	@echo Expanding $^
	@mkdir -p $(TARGET)
	@cd $(TARGET) && tar xfz $^
#	@cd $(src_dir) && patch -p1 < $(CURDIR)/glib-1.2.10.patch && autoconf
	@cd $(src_dir) && patch -p1 < $(CURDIR)/configure.patch
	@cd $(src_dir) && patch -p1 < $(CURDIR)/config.sub.patch
	@cd $(src_dir) && patch -p1 < $(CURDIR)/file_check.patch
	@cd $(src_dir) && patch -p2 < $(CURDIR)/gcc_3.4.patch
	@touch $(src_dir)/configure

$(obj_dir)/Makefile: $(src_dir)/configure
	@rm -rf $(obj_dir)
	@mkdir -p $(obj_dir)
	@cd $(obj_dir) && \
	  $(BSG_DEVSETUP) $(src_dir)/configure \
	    --prefix=/usr \
	    --build=$(BUILD_ARCH) \
	    --host=$(TARGET_ARCH) \
	    --target=$(TARGET_ARCH) \
	    --with-gnu-ld \
	    --enable-debug=no

$(LIB_TARGETS): $(obj_dir)/Makefile
	$(BSG_DEVSETUP) $(MAKE) -C $(obj_dir)

$(INTERFACE_HEADERS): $(LIB_TARGETS)

$(BIN_TARGETS): $(LIB_TARGETS)
	touch $(obj_dir)/glib-config
