#!/usr/bin/make -f

configure: configure-stamp
configure-stamp:
	dh_testdir
	dh_autotools-dev_updateconfig
	mkdir -p build/avidemux/ADM_libraries
	cp avidemux/ADM_libraries/ffmpeg_r25041.tar.gz build/avidemux/ADM_libraries
	cp avidemux/ADM_libraries/libswscale_r32049.tar.gz build/avidemux/ADM_libraries

	cd build && cmake .. \
		-DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_SKIP_RPATH:BOOL=YES

	touch $@

build: build-stamp
build-stamp: configure-stamp
	dh_testdir

	cd build && $(MAKE) ffmpeg
	cd build && $(MAKE)

	# all libraries are linked in a special directory
	# to build the plugins. See this thread for details:
	# http://bbs.archlinux.org/viewtopic.php?id=75446
	cd $(CURDIR)/build/ && \
	mkdir -p lib && cd lib && \
	find ../avidemux -name '*.so*' | xargs ln -sft .

	# now build the plugins.
	cd $(CURDIR)/plugins/ && \
	mkdir -p build && \
	cd build && \
	cmake -DAVIDEMUX_SOURCE_DIR=$(CURDIR) \
	-DAVIDEMUX_CORECONFIG_DIR=$(CURDIR)/build/config \
	-DAVIDEMUX_INSTALL_PREFIX=$(CURDIR)/build/ \
	-DCMAKE_INSTALL_PREFIX:PATH=/usr .. && \
	$(MAKE)

	touch $@

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp

	rm -rf build plugins/build
	rm -rf CMakeFiles
	rm -rf avidemux/ADM_libraries/ffmpeg
	dh_autotools-dev_restoreconfig
	dh_clean client_state.xml

install: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

	cd build && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp

	rm -rf debian/tmp/usr/bin/i18n

	for i in 16 22 24 32 36 48; do \
	    mkdir -p debian/tmp/usr/share/icons/hicolor/$${i}x$${i}/apps || exit 1; \
	    convert avidemux_icon.png -resize $$i \
	    debian/tmp/usr/share/icons/hicolor/$${i}x$${i}/apps/avidemux.png || exit 1; \
	done

	# now install the plugins.
	cd $(CURDIR)/plugins/build/ && \
	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp

	cd $(CURDIR)/debian/tmp && \
	rm -rf usr/share/ADM_addons/avsfilter/
	dh_install --fail-missing

# Build architecture-independent files here.
binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_installdocs -i
	dh_installchangelogs -i
	dh_installman -i
	dh_icons -i
	dh_link -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir -a
	dh_testroot -a
	dh_installdocs -a
	dh_installmenu -a
	dh_installchangelogs -a
	dh_link -a
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	dh_makeshlibs -a -V
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
