include $(MAKETOP)/usr/src/GNUtoolchain

SUBDIRS = gstreamer-1.2.3
TARBALL = $(SUBDIRS).tar.xz
INST_SUBDIRS = $(patsubst %,install-%,$(SUBDIRS))
CLEAN_SUBDIRS = $(patsubst %,clean-%,$(SUBDIRS))

PATCH_LIST = 0001-Fix-crash-with-gst-inspect.patch quiet_gst-launch.patch

ifeq (arm,$(GNUCC_ARCH))
SYSROOT="--sysroot=$(MAKETOP)"
CFLAGS="$(SYSROOT) -g -O2 $(GNUCC_ARCH_CFLAGS_EXTRA)"
CPPFLAGS=$(CFLAGS)
LDFLAGS="$(SYSROOT) -Wl,-rpath,/usr/pana/lib:/lib:/usr/lib:/usr/local/lib:/usr/pana/lib"
endif

all: $(SUBDIRS)

$(SUBDIRS):
	if test ! -f $@/Makefile; then				\
		touch-autotools.scm $@;				\
		(cd $@; CFLAGS=$(CFLAGS) CPPFLAGS=$(CPPFLAGS) LDFLAGS=$(LDFLAGS)	\
		 ./configure --host=$(GNUCC_PREFIX)		\
		 --build=`./config.guess`			\
		 --prefix=$(CROSS_C_ROOT_PATH)/usr		\
		 --disable-silent-rules				\
		)						\
	fi;							\
	$(MAKE) -C $@ all

install: $(INST_SUBDIRS)

$(INST_SUBDIRS):
	tar xvf $(TARBALL)
	PATCH_LIST="$(PATCH_LIST)";\
	for x in $$PATCH_LIST; do\
		echo $$x;\
		patch -p1 -d $(SUBDIRS) < patch/$$x;\
	done

	dir=`echo $@ |sed -e 's/install-//'`;			\
	if test ! -f $$dir/Makefile; then			\
		touch-autotools.scm $${dir};			\
		(cd $${dir};					\
		 CFLAGS=$(CFLAGS) CPPFLAGS=$(CPPFLAGS) LDFLAGS=$(LDFLAGS)	\
		 ./configure --host=$(GNUCC_PREFIX)		\
		 --build=`./config.guess`			\
		 --prefix=$(CROSS_C_ROOT_PATH)/usr		\
		 --disable-silent-rules				\
		 --disable-docbook				\
		 --disable-gtk-doc				\
		 --disable-check  				\
		 --disable-examples				\
		 --disable-tests 				\
		 --disable-valgrind				\
		 --disable-debug  				\
		 --enable-nls 					\
		 ;						\
		 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool; \
		 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool; \
		 sed -i 's|^\(#define PLUGINDIR \"\).*\(/usr/lib/gstreamer-\)|\1\2|g' config.h; \
		)						\
	fi;							\
	make -j1 -C $${dir} install

clean: $(CLEAN_SUBDIRS)

$(CLEAN_SUBDIRS):
	rm -rf $(SUBDIRS)


.PHONY:	all install $(SUBDIRS) $(INST_SUBDIRS) $(CLEAN_SUBDIRS)
