#!/usr/bin/make -f

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

# Filter -g from environment on troublesome arches. Replace it with -gstabs
# See also: stabs_format_debug_info.diff
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
export DEB_CFLAGS_MAINT_STRIP := -g
export DEB_CXXFLAGS_MAINT_STRIP := -g
ifneq (,$(filter $(DEB_HOST_ARCH),arm64))
    export DEB_CFLAGS_MAINT_APPEND := -g1
    export DEB_CXXFLAGS_MAINT_APPEND := -g1
else
    export DEB_CFLAGS_MAINT_APPEND := -gstabs
    export DEB_CXXFLAGS_MAINT_APPEND := -gstabs
endif
ifneq (,$(filter $(DEB_HOST_ARCH),alpha))
    export DEB_LDFLAGS_MAINT_APPEND := -Wl,--no-relax
endif

CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
CXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS)
CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)

QMAKE_ARGS := "--qmakearg=\"QMAKE_CFLAGS_RELEASE=$(CFLAGS) $(CPPFLAGS)\""
QMAKE_ARGS += "--qmakearg=\"QMAKE_CXXFLAGS_RELEASE=$(CXXFLAGS) $(CPPFLAGS)\""
QMAKE_ARGS += "--qmakearg=\"QMAKE_LFLAGS_RELEASE=$(LDFLAGS)\""

export QMAKEPATH=Tools/qmake
export QTDIR=/usr
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

%:
	dh $@ --parallel --list-missing --dbg-package=libqtwebkit4-dbg --with pkgkde_symbolshelper

override_dh_auto_clean:
	rm -rf WebKitBuild
	-find . -name *.pyc | xargs rm

override_dh_auto_configure:
	true

override_dh_auto_build:
#disable JIT assembler on powerpc/arm64 where it doesn't compile
#disable WTF_USE_3D_GRAPHICS on ARM where it doesn't compile
#disable forcing SSE2 on all other platforms
#http://www.mentby.com/Group/webkit-qt-list/qtwebkit-231-tagged.html
ifneq (,$(filter arm64 powerpc ppc64el s390x,$(DEB_HOST_ARCH)))
	./Tools/Scripts/build-webkit --qt DEFINES+=ENABLE_JIT=0 DEFINES+=ENABLE_YARR_JIT=0 DEFINES+=ENABLE_ASSEMBLER=0 $(QMAKE_ARGS)
else ifeq ($(DEB_HOST_ARCH),armhf)
	./Tools/Scripts/build-webkit --qt DEFINES+=ENABLE_JIT=0 DEFINES+=ENABLE_YARR_JIT=0 DEFINES+=ENABLE_ASSEMBLER=0 DEFINES+=WTF_USE_3D_GRAPHICS=0 $(QMAKE_ARGS)
else
	./Tools/Scripts/build-webkit --qt --no-force-sse2 $(QMAKE_ARGS)
endif

override_dh_auto_install:
	dh_install
	mkdir -p debian/libqtwebkit4/usr/lib/$(DEB_HOST_MULTIARCH)/
	cp --no-dereference WebKitBuild/Release/lib/libQtWebKit.so.* debian/libqtwebkit4/usr/lib/$(DEB_HOST_MULTIARCH)/

	mkdir -p debian/libqtwebkit-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/
	cp WebKitBuild/Release/lib/libQtWebKit.prl debian/libqtwebkit-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libQtWebKit.prl
	cp WebKitBuild/Release/lib/pkgconfig/QtWebKit.pc debian/libqtwebkit-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/QtWebKit.pc
	mkdir -p debian/libqtwebkit-dev/usr/include/qt4/QtWebKit/
	cp Source/WebKit/qt/Api/*h debian/libqtwebkit-dev/usr/include/qt4/QtWebKit/
	cp WebKitBuild/Release/include/QtWebKit/Q* debian/libqtwebkit-dev/usr/include/qt4/QtWebKit/
	rm debian/libqtwebkit-dev/usr/include/qt4/QtWebKit/*_p.h
	cp --no-dereference WebKitBuild/Release/lib/libQtWebKit.so debian/libqtwebkit-dev/usr/lib/$(DEB_HOST_MULTIARCH)/

	mkdir -p debian/libqtwebkit-qmlwebkitplugin/usr/lib/$(DEB_HOST_MULTIARCH)/qt4/imports/QtWebKit/
	cp WebKitBuild/Release/imports/QtWebKit/libqmlwebkitplugin.so debian/libqtwebkit-qmlwebkitplugin/usr/lib/$(DEB_HOST_MULTIARCH)/qt4/imports/QtWebKit/
	cp WebKitBuild/Release/imports/QtWebKit/qmldir debian/libqtwebkit-qmlwebkitplugin/usr/lib/$(DEB_HOST_MULTIARCH)/qt4/imports/QtWebKit/

override_dh_builddeb:
	dh_builddeb -- -Zxz
