#!/usr/bin/make -f
CURDIR ?= $(realpath $(dir $(firstword $(MAKEFILE_LIST)))/..)
include $(CURDIR)/debian/config
#dpkg-info
dpkg_late_eval ?= $(or $(value DPKG_CACHE_$(1)),$(eval DPKG_CACHE_$(1) := $(shell $(2)))$(value DPKG_CACHE_$(1)))
DEB_SOURCE = $(call dpkg_late_eval,DEB_SOURCE,awk '/^Source: / { print $$2 }' debian/control)
DEB_VERSION = $(call dpkg_late_eval,DEB_VERSION,dpkg-parsechangelog | awk '/^Version: / { print $$2 }')
DEB_VERSION_EPOCH_UPSTREAM = $(call dpkg_late_eval,DEB_VERSION_EPOCH_UPSTREAM,echo '$(DEB_VERSION)' | sed -e 's/-[^-]*$$//')
DEB_VERSION_UPSTREAM_REVISION = $(call dpkg_late_eval,DEB_VERSION_UPSTREAM_REVISION,echo '$(DEB_VERSION)' | sed -e 's/^[0-9]*://')
DEB_VERSION_UPSTREAM = $(call dpkg_late_eval,DEB_VERSION_UPSTREAM,echo '$(DEB_VERSION_EPOCH_UPSTREAM)' | sed -e 's/^[0-9]*://')
DEB_DISTRIBUTION = $(call dpkg_late_eval,DEB_DISTRIBUTION,dpkg-parsechangelog | sed -n -e 's/^Distribution: //p')
BASE_VERSION:=$(shell echo $(DEB_VERSION) | cut -d: -f1):$(DEB_VERSION_UPSTREAM)
BINARY_VERSION=$(DEB_VERSION)
HELP_L10N_VIRTUAL_VERSION:=5.0
OOVER:=5.0
NEXT_OOVER:=$(shell echo "$(OOVER) + 0.1" | bc)

ARCH_INDEP_PACKAGES := $(shell dh_listpackages -i)

include /usr/share/dpkg/architecture.mk
include /usr/share/dpkg/vendor.mk
SHELL:=/bin/bash
export gb_SHELL:=$(SHELL)

PKGDIR:=debian/libreoffice
OODIRNAME=libreoffice
OODIR:=usr/lib/$(OODIRNAME)
OOSHAREDIR:=usr/share/$(OODIRNAME)
OOUREDIR:=usr/lib/ure
OOSDKDIR:=$(OODIR)/sdk


# debhelper
export DH_OPTIONS
export DH_ALWAYS_EXCLUDE=CVS:.svn:.bzr:.git
#export DH_VERBOSE=1
# quilt
export QUILT_PATCHES=debian/patches
export QUILT_OPTIONS="-p1 -F0"

SOURCE_TREE=.
STAMP_DIR=debian/stampdir

BUILDDEB_OPTIONS ?= -- -Zxz

export DPKG_EXPORT_BUILDFLAGS=y 
include /usr/share/dpkg/buildflags.mk

clean:
	dh_testroot
	dh_testdir
	if [ -f config.status ]; then \
		$(MAKE) distclean; \
		rm -f config.status; \
	fi
	rm -rf $(SOURCE_TREE)/file-lists
	rm -f autogen.lastrun
	rm -f config/config_version.h
	dh_clean

prepare: $(STAMP_DIR)/prepare
$(STAMP_DIR)/prepare:
	dh_testdir
	mkdir -p $(STAMP_DIR)
	touch $@

build-indep: $(STAMP_DIR)/prepare $(STAMP_DIR)/build-indep
$(STAMP_DIR)/build-indep:
	dh_testdir
	./autogen.sh \
		$(patsubst --with-jdk-home=%,--with-jdk-home=/usr/lib/jvm/default-java,\
			$(patsubst --with-boost-libdir=%,--with-boost-libdir=/usr/lib/$(DEB_HOST_MULTIARCH),$(CONFIGURE_FLAGS))) \
		--with-help \
		$(CONFIGURE_FLAGS_LANG)
	TMP=`mktemp -q -d` \
		$(MAKE) build-l10n-only && \
		$(MAKE) cmd cmd='make -f Makefile.gbuild $${WORKDIR}/CustomTarget/readlicense_oo/readme/README_en-US'
	touch $@

install-indep: $(STAMP_DIR)/install-indep
$(STAMP_DIR)/install-indep:
	dh_testdir
	dh_testroot
	rm -rf $(PKGDIR)-help-* $(PKGDIR)-l10n-*
	make packageinfo
	$(foreach iso,$(filter-out en-US ca-valencia,$(LANGPACKISOS)),\
		make install-package-l10n-$(iso) INSTALLDIR=$(PKGDIR)-l10n-`echo $(iso)|tr A-Z a-z`/$(OODIR) &&) true
ifneq (,$(filter ca-valencia,$(LANGPACKISOS)))
	make install-package-l10n-ca-valencia INSTALLDIR=$(PKGDIR)-l10n-ca/$(OODIR)
endif
ifneq (,$(filter kmr-Latn,$(LANGPACKISOS)))
	make install-package-l10n-kmr-Latn INSTALLDIR=$(PKGDIR)-l10n-kmr/$(OODIR)
endif
ifneq (,$(filter sk,$(HELPISOS)))
	# prepopulate sk help from cz
	make install-package-help-cz INSTALLDIR=$(PKGDIR)-help-sk/$(OOSHAREDIR)
endif
	$(foreach iso,$(filter-out ca-valencia,$(HELPISOS)),\
		make install-package-help-$(iso) INSTALLDIR=$(PKGDIR)-help-`echo $(iso)|tr A-Z a-z`/$(OOSHAREDIR) &&) true
	# and ca-valencia in -ca...
ifneq (,$(filter ca-valencia,$(HELPISOS)))
	make install-package-help-ca-valencia INSTALLDIR=$(PKGDIR)-help-ca/$(OOSHAREDIR)
endif
ifneq (,$(filter kmr-Latn,$(HELPISOS)))
	make install-package-help-kmr-Latn INSTALLDIR=$(PKGDIR)-help-kmr/$(OOSHAREDIR)
endif
	for PKG in $(ARCH_INDEP_PACKAGES); do \
		cat debian/changelog \
		| sed -e '/^openoffice/,$$d' \
		> debian/$$PKG.changelog; \
	done
	touch $@

binary-indep: $(STAMP_DIR)/binary-indep
$(STAMP_DIR)/binary-indep: $(STAMP_DIR)/install-indep
	dh_testdir
	dh_testroot
	# install technical.dic
	for iso in $(LANGPACKISOS); do \
		if [ "$$iso" = "en-US" ]; then pkg=common; \
		elif [ "$$iso" = "ca-valencia" ]; then pkg=l10n-ca; else pkg=l10n-`echo $$iso | tr A-Z a-z`; \
		fi; \
		mkdir -p $(PKGDIR)-$$pkg/$(OODIR)/share/wordbook/$$iso; \
		install -m644 $(SOURCE_TREE)/extras/source/wordbook/technical.dic \
			$(PKGDIR)-$$pkg/$(OODIR)/share/wordbook/$$iso/technical.dic; \
	done

ifeq "$(DEB_VENDOR)" "Debian"
	# install Debian presentation template
	otps=`cd debian/templates; echo *.otp`; \
	for iso in $(LANGPACKISOS); do \
	  [ "$$iso" = "en-US" ] && continue; \
	  pkgiso=`echo $$iso | tr \[:upper:\] \[:lower:\]`; \
	  [ "$$pkgiso" = "ca-xv" ] && pkgiso=ca; \
	  mkdir -p $(PKGDIR)-l10n-$$pkgiso/$(OODIR)/share/template/$$iso/presnt; \
	  for otp in $$otps; do \
	    ln -sf ../../en-US/presnt/$$otp \
	    $(PKGDIR)-l10n-$$pkgiso/$(OODIR)/share/template/$$iso/presnt/$$odt; \
	  done; \
	done
endif

ifeq (he,$(findstring he,$(LANGPACKISOS)))
	perl -pi -e 's#<prop oor:name="CTLSequenceChecking"><value>true</value></prop>#<prop oor:name="CTLSequenceChecking"><value>false</value></prop>#' $(PKGDIR)-l10n-he/$(OODIR)/share/registry/ctl_he.xcd
endif
	rm -rf $(foreach pkg,$(ARCH_INDEP_PACKAGES),debian/$(pkg).*.debhelper debian/$(pkg)/DEBIAN )

	dh_installdocs -i -A 
	for p in $(ARCH_INDEP_PACKAGES); do \
		mkdir -p debian/$$p/usr/share/doc/$$p; \
		cp workdir/CustomTarget/readlicense_oo/readme/README_en-US \
			debian/$$p/usr/share/doc/$$p/README; \
	done 
	dh_installchangelogs -i -k
	dh_compress
	dh_lintian -i
	dh_bugfiles -i -A
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i $(DEBHELPER_OPTIONS) -- \
		-V'base-version=$(BASE_VERSION)' \
		-V'oover=$(OOVER)' \
		-V'next-oover=$(NEXT_OOVER)' \
		-V'help-l10n-virtual-version=$(HELP_L10N_VIRTUAL_VERSION)' \
		-v$(BINARY_VERSION)
	dh_md5sums -i
	dh_builddeb -i $(DEBHELPER_OPTIONS) $(BUILDDEB_OPTIONS)
	touch $@

build: build-indep
	true
check:
	true
binary: binary-indep
	true
install: install-indep
	true

.PHONY: clean prepare
.PHONY: build build-indep
.PHONY: install install-indep

# vim:set noet ai sts=8 sw=8 tw=0:
