#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND =
# Get some information about the machine we are building on:
export numberOfProcessorsOnMachine=$(shell nproc)
export wantedJobs=$(shell echo "1.25*$(numberOfProcessorsOnMachine)" | bc -l)
export jobsIget=$(shell echo $(wantedJobs) | awk '{print int($$1+0.5)}')
export TOTAL_DISK=$(shell df -h --total | awk 'END{print $$2}')
export FREEMEM=$(shell free --mega)
export TOTAL_MEM=$(shell free --total --mega | xargs | awk '{print $$19"MB"}')
export TOTAL_RAM=$(shell free --total --mega | xargs | awk '{print $$8"MB"}')
export TOTAL_SWAP=$(shell free --total --mega | xargs | awk '{print $$15"MB"}')
export DISTRO=$(shell awk -F= '/^NAME/{print $2}' /etc/os-release | cut -d'=' -f2)
export DISTROVERSION=$(shell awk -F= '/^VERSION_ID/{print $2}' /etc/os-release)
export THISMONTH=$(shell LC_TIME='en_US.UTF-8' date +%B)
export THISYEAR=$(shell date +%Y)
# Add support for different Debian based distributions
export VERSION_CODENAME=$(shell cat /etc/os-release | grep VERSION_CODENAME | awk -F= '{print $$2}')
export VERSION_ID=$(shell cat /etc/os-release | grep VERSION_ID | awk -F= '{print $$2}')
export PRETTY_NAME="$(shell cat /etc/*-release | egrep "PRETTY_NAME" | cut -d = -f 2)"
# Variables
export executable=linphone
export pkgname=$(executable)-desktop-git
export install_prefix=/opt/$(executable)-git
# format manpage_date=January 2024
export manpage_date="$(THISMONTH) $(THISYEAR)"
export _topdir=/usr/src/packages
export _builddir=$(_topdir)/BUILD
#export _builddir=/usr/src/packages/BUILD
export _sourcedir=$(_topdir)/SOURCES
#export _sourcedir=/usr/src/packages/SOURCES
export _uploaddir=/usr/src/packages/SOURCES
export srcdir=/usr/src/packages/SOURCES
export pkgdir_head=$(_builddir)/debian
#export pkgdir_head=/usr/src/packages/BUILD/debian
#export pkgdir=$(pkgdir_head)/$(pkgname)
export pkgdir=$(pkgdir_head)/tmp
export pkgdir=/usr/src/packages/BUILD/debian/tmp
export buildroot=/usr/src/packages/BUILD/debian/tmp
export buildroot=$(_builddir)/debian/$(pkgname)
export buildroot=$(_builddir)/debian/$(pkgname)
#export buildroot=$(pkgdir)
export _installToDir=$(pkgdir)
#export _installToDir=/usr/src/packages/BUILD/debian/tmp
ifeq ($(findstring Raspbian,$(PRETTY_NAME)),Raspbian)
    # Found
    export PLATFORM=Raspbian
    export BUILDDIR=obj-arm-linux-gnueabihf
    export LIBDIR=lib/arm-linux-gnueabihf
else
    # Not found
    export PLATFORM=DebianOrUbuntu
    export BUILDDIR=obj-x86_64-linux-gnu
    export LIBDIR=lib/x86_64-linux-gnu
endif
#export PLATFORM=DebianOrUbuntu
#export BUILDDIR=obj-x86_64-linux-gnu
#export LIBDIR=lib/x86_64-linux-gnu
# Set debhelper options
DEB_BUILD_OPTIONS=nocheck

export SOURCE2=$(_uploaddir)/appimage-update.desktop
export SOURCE3=$(_uploaddir)/appimage-update.sh
export SOURCE4=$(_uploaddir)/AppImageUpdate.bash
export SOURCE5=$(_uploaddir)/appimageupdatetool.bash


%:
	dh $@  

override_dh_auto_configure:

override_dh_auto_build:
	find $(_topdir)
	echo pwd=$(shell pwd)
	ls -al $(shell pwd)
	echo _topdir=$(_topdir)
	ls -al $(_topdir)
	echo _topdir=$(_sourcedir)
	ls -al $(_sourcedir)
	echo _uploaddir=$(_uploaddir)
	ls -al $(_uploaddir)
	echo _uploaddir=$(_builddir)
	ls -al $(_builddir)
	# fix icon name
	sed -e 's/^Icon=appimage$$/Icon=AppImageUpdate/' -i resources/AppImageUpdate.desktop
	mkdir build
	#tar -xf $(_uploaddir)/dependencies.tar.xz
	#find $(_builddir)
	#  -DCMAKE_INSTALL_PREFIX=/usr
	#  -DEP_UPDATE_DISCONNECTED:BOOL=True \
	cmake . \
	  -B $(_builddir)/build -S $(_builddir) \
	  -DCMAKE_INSTALL_PREFIX=/usr \
	  -DBUILD_QT_UI=YES \
	  -DUSE_SYSTEM_LIBAPPIMAGE=YES \
	  -DUSE_SYSTEM_XDGUTILS=YES \
	  -DUSE_SYSTEM_CPR=YES \
	  -DUSE_SYSTEM_CURL=YES \
	  -DUSE_SYSTEM_ZSYNC2=YES \
	  -DBUILD_CPR_TESTS=OFF \
	  -DFETCHCONTENT_FULLY_DISCONNECTED=YES \
	  -DFETCHCONTENT_UPDATES_DISCONNECTED=YES \
	  -DEP_UPDATE_DISCONNECTED=YES \
	  -DUPDATE_DISCONNECTED=YES
	echo "Configuration should have ended here."
	#cmake --build $(_builddir)/build --target install --parallel $(jobsIget)
	cd $(_builddir)/build ; make -j$(jobsIget)
	echo "Build should have ended here."

override_dh_auto_install:
	DESTDIR="$(pkgdir)" make -C $(_builddir)/build install
	# rename validate to avoid conflicts with other programs
	mv $(pkgdir)/usr/bin/validate $(pkgdir)/usr/bin/appimagegpgvalidate
	install -D -m 0644 -t $(pkgdir)/usr/share/applications resources/AppImageUpdate.desktop
	#install -D -m 0644 $(_uploaddir)/icon $(pkgdir)/usr/share/icons/hicolor/scalable/apps/AppImageUpdate.svg
	install -D -m 0644 resources/AppImage.svg $(pkgdir)/usr/share/icons/hicolor/scalable/apps/AppImageUpdate.svg
	install -D -m 0644 resources/appimage.png $(pkgdir)/usr/share/icons/hicolor/128x128/apps/AppImageUpdate.png
	install -D -m 0644 -t $(pkgdir)/usr/share/kde5/services/ServiceMenus $(SOURCE2)
	install -D -m 0755 -t $(pkgdir)/usr/bin/ $(SOURCE3)
	# bash-completion
	install -D -m 0644 $(SOURCE4) $(pkgdir)/usr/share/bash-completion/completions/AppImageUpdate
	install -D -m 0644 $(SOURCE5) $(pkgdir)/usr/share/bash-completion/completions/appimageupdatetool
	find "$(pkgdir)"