#!/usr/bin/make -f

# some commonly used local vars
comma:= ,
empty:=
space:= $(empty) $(empty)


# project specific
PROJECT_NAME:= sensorfw
BUILD_DIR:= builddir
PACKAGE_NAME:= sensorfw-qt5

# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1


# custom C(XX)FLAGS
CFLAGS = -Wall -g -Wno-psabi

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
    CFLAGS += -O0
else
    CFLAGS += -O2
endif

# check for parallel parameter
ifneq (,$(findstring parallel=,$(DEB_BUILD_OPTIONS)))
    # DEB_BUILD_OPTIONS can't seem to make its mind with the list usage...
    # ...so replace commas with spaces before doing anything else
    PROPER_DEB_BUILD_OPTIONS := $(strip $(subst $(comma),$(space),$(DEB_BUILD_OPTIONS)))
    # get the number of jobs
    MAKE_PARALLEL_PARAMS := -j$(subst parallel=,$(empty),$(filter parallel=%,$(PROPER_DEB_BUILD_OPTIONS)))
endif

# check for build docs
export MAKE_DOCS := yes
ifneq (,$(findstring nodocs,$(DEB_BUILD_OPTIONS)))
    export MAKE_DOCS = no
endif


builddir:
	mkdir -p $(BUILD_DIR)

configure: configure-stamp
configure-stamp: builddir
	dh_testdir

	# Add here commands to configure the package.
	cd $(BUILD_DIR) && qmake $(QMAKECONFIG) CONFIG+="configs" CONFIG+="autohybris" CONFIG+="legacy" CONFIG+="systemdunit" "QMAKE_CXXFLAGS=$(CFLAGS)" "MAKE_DOCS=$(MAKE_DOCS)" ../$(PROJECT_NAME).pro
	export LD_RUN_PATH=/usr/lib/sensord-qt5/

	touch configure-stamp


build: build-stamp

build-stamp: configure-stamp
	dh_testdir

	# Add here commands to compile the package.
	cd $(BUILD_DIR) && $(MAKE) $(MAKE_PARALLEL_PARAMS)

	touch $@

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

	# Add here commands to clean up after the build process.
	rm -r -f $(BUILD_DIR)
	rm -f -r debian/tmp

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the package into debian/tmp.
	cd $(BUILD_DIR) && $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/tmp $(MAKE_PARALLEL_PARAMS) install

# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs
	dh_installdocs
	dh_install --sourcedir=debian/tmp
	dh_link
	dh_strip --dbg-package=$(PACKAGE_NAME)-dbg
	dh_compress
	dh_fixperms
	dh_makeshlibs --exclude=/usr/lib/sensord-qt5
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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


# End of File

