#!/usr/bin/make -f

include /usr/share/cli-common/cli.make

SONAME=4
VERSION = 0.7.94
export LDFLAGS=-Wl,-O1 -Wl,--as-needed
PYVERS = $(shell pyversions -v -r ./debian/control)
confflags += --without-hal --enable-udev

# rules for configuring
build/libgpod$(SONAME)/config.status:
	dh_auto_configure -B$(dir $@) -- \
		--with-python=no \
		--with-mono=yes \
		--enable-gtk-doc $(confflags) MCS=/usr/bin/mono-csc
build/libgpod$(SONAME)-nogtk/config.status:
	dh_auto_configure -B$(dir $@) -- \
		--with-python=no \
		--with-mono=no \
		--disable-gdk-pixbuf $(confflags)

# rule for building
build/%/build-stamp: build/%/config.status
	dh_auto_build -B$(dir $@)
	touch $@

# rule for installing
build/%/install-stamp: build/%/build-stamp
	dh_auto_install -B$(dir $@) -- \
		DESTDIR=$(CURDIR)/debian/tmp$(subst build/libgpod$(SONAME),,$(dir $@))/
	# Needed for syncing with ubuntu: launchpad needs .pot files
	cd po; intltool-update --pot
	touch $@

# hook in the configure, build, install and clean stages
override_dh_auto_configure: build/libgpod$(SONAME)/config.status \
                            build/libgpod$(SONAME)-nogtk/config.status

override_dh_auto_build: build/libgpod$(SONAME)/build-stamp \
                        build/libgpod$(SONAME)-nogtk/build-stamp

override_dh_auto_install: build/libgpod$(SONAME)/install-stamp \
                          build/libgpod$(SONAME)-nogtk/install-stamp \
                          $(foreach pyver, $(PYVERS), build/python$(pyver))
	install \
		build/libgpod$(SONAME)/tools/ipod-time-sync \
		debian/tmp/usr/bin/ipod-time-sync
	chrpath -d debian/tmp/usr/bin/*
	chrpath -d debian/tmp/lib/udev/*-info
	chrpath -d debian/tmp*/usr/lib/libgpod.so.$(SONAME)
	chrpath -d debian/tmp/usr/lib/python*/*-packages/gpod/_gpod.so

# python things!
build/python%: build/libgpod$(SONAME)/install-stamp
	export PYTHON=$(notdir $@); \
	dh_auto_configure -Bbuild/libgpod$(SONAME) -- \
		--with-python=yes \
		--with-mono=no \
		$(confflags) && \
	dh_auto_build -Bbuild/libgpod$(SONAME)/bindings/python && \
	dh_auto_install -Bbuild/libgpod$(SONAME)/bindings/python
	touch $@

# autogenerate *-nogtk*.install files
debian/libgpod$(SONAME)-nogtk.install: debian/libgpod$(SONAME).install
	cp $< $@

debian/libgpod-nogtk-dev.install: debian/libgpod-dev.install
	cp $< $@

override_dh_install: debian/libgpod$(SONAME)-nogtk.install \
                     debian/libgpod-nogtk-dev.install
	dh_install -Nlibgpod$(SONAME)-nogtk -Nlibgpod-nogtk-dev
	dh_install \
		--sourcedir=debian/tmp-nogtk \
		-plibgpod$(SONAME)-nogtk \
		-plibgpod-nogtk-dev


# don't install things to /usr/share/doc/libgpod(-nogtk)-dev, as they're
# symlinked
override_dh_installdocs override_dh_installchangelogs:
	$(subst override_,,$@) -Nlibgpod-dev -Nlibgpod-nogtk-dev

# cleaning rules
clean:
	dh $@
	rm -f debian/libgpod-nogtk-dev.install debian/libgpod$(SONAME)-nogtk.install
	rm -rf debian/tmp-nogtk/

override_dh_auto_clean:
	rm -rf build/

override_dh_makeshlibs:
	dpkg-gensymbols -c4 -Pdebian/libgpod$(SONAME)-nogtk -plibgpod$(SONAME)-nogtk
	dpkg-gensymbols -c4 -Pdebian/libgpod$(SONAME) -plibgpod$(SONAME)
	dh_makeshlibs -plibgpod$(SONAME) \
		-V 'libgpod$(SONAME) (>= $(VERSION))'
	dh_makeshlibs -plibgpod$(SONAME)-nogtk \
		-V 'libgpod$(SONAME)-nogtk (>= $(VERSION)) | libgpod$(SONAME) (>= $(VERSION))'

%:
	dh --parallel $@

.PHONY: clean
