#! /usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

###

# Configure arguments

confflags = --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \
	    --disable-dependency-tracking --disable-ccache --disable-debug		\
	    --enable-amule-daemon --enable-amulecmd --enable-ed2k --enable-webserver	\
	    --enable-amule-gui --enable-cas --enable-wxcas --enable-alc --enable-alcc	\
	    --disable-embedded-crypto --enable-geoip --enable-upnp	\
	    --with-denoise-level=0 --with-boost
#	    --enable-plasmamule --disable-embedded-crypto --enable-geoip --enable-upnp	\

include /usr/share/dpkg/architecture.mk

confflags += --build $(DEB_BUILD_GNU_TYPE)

# Only specify --host when cross-compiling
ifneq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
    confflags += --host $(DEB_HOST_GNU_TYPE)
endif

###

# Directory to make the build on

objdir = $(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)

###

# CFLAGS

CFLAGS = `dpkg-buildflags --get CFLAGS`
CFLAGS += -Wall

CXXFLAGS = `dpkg-buildflags --get CXXFLAGS`

LDFLAGS_DEF += `dpkg-buildflags --get LDFLAGS`
CPPFLAGS_DEF = `dpkg-buildflags --get CPPFLAGS`

CPPFLAGS_DEF += -DASIO_SOCKETS=1

###

# Build flags

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
    NJOBS := -j $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif

###

configure:
	./autogen.sh

$(objdir)/config.status: configure
	dh_testdir

	ln -sf /usr/share/misc/config.sub .
	ln -sf /usr/share/misc/config.guess .

	-mkdir $(objdir)
	cd $(objdir) && \
	env CFLAGS="$(CFLAGS)" CXXFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS_DEF)" LDFLAGS="$(LDFLAGS_DEF)" ../configure $(confflags)

	touch $@

#

build: build-arch build-indep
build-arch: build-stamp
build-indep: build-stamp
build-stamp: $(objdir)/config.status
	dh_testdir

	cd $(objdir) && \
	$(MAKE) $(NJOBS) BFD_LIB= BFD_FLAGS=

	touch $@

#

clean:
	dh_testdir
	dh_testroot

	rm -f build-stamp install-stamp
	rm -f config.guess config.sub

	# Remove build tree
	rm -rf $(objdir)
	rm -f po/*.gmo

	dh_clean

#

install: install-stamp
install-stamp:
	dh_testdir
	dh_testroot
	dh_clean
	dh_installdirs
	cd $(objdir) && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
	chmod +x debian/amuled_home_wrapper.sh

	mkdir -p $(CURDIR)/debian/tmp/usr/share/icons/hicolor/128x128/apps
	cp $(CURDIR)/amule.png $(CURDIR)/debian/tmp/usr/share/icons/hicolor/128x128/apps

	dh_install --sourcedir=debian/tmp

	rm -f $(CURDIR)/debian/amule/usr/share/icons/hicolor/scalable/mimetypes/application-x-emulecollection.svg

	touch $@

#

binary: binary-arch binary-indep

binary-arch: build install
	$(MAKE) -f debian/rules DH_OPTIONS=-s binary-common

binary-indep: build install
	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common

binary-common:
	dh_testdir
	dh_testroot
	dh_installchangelogs docs/Changelog
	dh_installdocs
	dh_installexamples
	dh_installmime
	dh_installdebconf
	dh_installinit
	dh_bugfiles -A
	dh_installman
	dh_lintian
	dh_icons
	dh_installgsettings -pamule-gnome-support
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

import-orig:
	# call it like ./debian/rules import-orig TARBALL=<path to the new tarball>
	git-import-orig --filter=debian/* --filter=config.{sub,guess} --pristine-tar --filter-pristine-tar ${TARBALL}

#

.PHONY: build clean install binary binary-arch binary-indep binary-common import-orig
