#!/usr/bin/make -f
#-*- makefile -*-

export DH_VERBOSE=1
export SHELL := /bin/bash

DPKG_VARS				:= $(shell dpkg-architecture)
DEB_BUILD_MULTIARCH		?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_MULTIARCH)
DEB_HOST_MULTIARCH		?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH)

TCL_VERSION := $(shell source /usr/lib/tclConfig.sh && echo "$${TCL_VERSION}")

_sourcedir := debian/source
_prefix := /opt/alt/sqlite/usr
_bindir := $(_prefix)/bin
_libdir := $(_prefix)/lib/$(DEB_HOST_MULTIARCH)
_datadir := $(_prefix)/share
_includedir := $(_prefix)/include
_mandir := $(_datadir)/man

buildroot := $(CURDIR)/debian/tmp

CFLAGS = $(shell dpkg-buildflags --get CFLAGS)
export CFLAGS := $(CFLAGS) \
	-DSQLITE_ENABLE_COLUMN_METADATA=1 \
	-DSQLITE_DISABLE_DIRSYNC=1 \
	-DSQLITE_ENABLE_FTS3=3 \
	-DSQLITE_ENABLE_RTREE=1 \
	-DSQLITE_SECURE_DELETE=1 \
	-DSQLITE_ENABLE_UNLOCK_NOTIFY=1 \
	-Wall \
	-fno-strict-aliasing
LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)
LDFLAGS := $(LDFLAGS) -Wl,-rpath=/opt/alt/sqlite/usr/$(DEB_BUILD_MULTIARCH)

NJOBS := -j$(shell getconf _NPROCESSORS_ONLN)

%:
	dh $@

override_dh_auto_configure:
	unzip debian/sqlite-doc-3390400.zip
	./configure \
		--prefix=$(_prefix) \
		--libdir=$(_libdir) \
		--mandir=$(_mandir) \
        --enable-threadsafe \
        --enable-threads-override-locks \
        --enable-load-extension \
		--with-tcl=/usr/lib/$(DEB_HOST_MULTIARCH)/tcl$(TCL_VERSION) \
        TCLLIBDIR=$(_libdir)/tcl$(TCL_VERSION)/sqlite3 \
        LDFLAGS="${LDFLAGS}"

override_dh_auto_build:
	$(MAKE) $(NJOBS)

override_dh_auto_install:
	$(MAKE) DESTDIR=$(buildroot) install
	install -D -m0644 sqlite3.1 $(buildroot)/$(_mandir)/man1/sqlite3.1
	install -D -m0755 lemon $(buildroot)$(_bindir)/lemon
	install -D -m0644 tool/lempar.c $(buildroot)$(_datadir)/lemon/lempar.c
	chmod 0755 $(buildroot)$(_libdir)/tcl$(TCL_VERSION)/sqlite3/*.so

	dh_movefiles -p alt-sqlite \
		.$(_bindir)/sqlite3 \
		.$(_libdir)/*.so.* \
		.$(_mandir)/*

	dh_movefiles -p alt-sqlite-devel \
		.$(_includedir)/* \
		.$(_libdir)/*.a \
		.$(_libdir)/*.la \
		.$(_libdir)/*.so \
		.$(_libdir)/pkgconfig/*.pc

	dh_movefiles -p alt-sqlite-lemon \
		.$(_bindir)/lemon \
		.$(_datadir)/lemon

	dh_movefiles -p alt-sqlite-tcl \
		.$(_libdir)/tcl$(TCL_VERSION)/sqlite3

override_dh_auto_test:
override_dh_auto_clean:

override_dh_missing:
	dh_missing --fail-missing
