#!/usr/bin/make -f

# enable verbose mode
export DH_VERBOSE=1

# enable all hardening build flags
export DEB_BUILD_MAINT_OPTIONS=hardening=+all

devi := $(shell lsb_release -r -s | cut -d '.'  -f1)
ifeq ($(shell if [ $(devi) -gt 7 ] ; then echo gt ; else echo lt ; fi),gt)
   DEBVE2=yes
else
   DEBVE2=no
endif

OLDER=$(shell lsb_release -c -s | cut -d '.'  -f1)

LCFLAGSB=$(shell dpkg-buildflags --get CFLAGS)
LCPFLAGSB=$(shell dpkg-buildflags --get CPPFLAGS)

DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
OPTI_FLAGS_LIBONLY := -fomit-frame-pointer 
### PICCORO optimizer flags for i386 x86 machines
ifeq ($(DEB_HOST_ARCH),i386)
 ifeq ($(OLDER),wheezy)
    OPTI_FLAGS_LIBONLY += -march=i586 -mtune=generic -mmmx
 else
    OPTI_FLAGS_LIBONLY += -march=i686 -mtune=generic -mmmx -msse
 endif
else
ifeq ($(DEB_HOST_ARCH),i486)
 ifeq ($(OLDER),wheezy)
    OPTI_FLAGS_LIBONLY += -march=i586 -mtune=generic -mmmx
 else
    OPTI_FLAGS_LIBONLY += -march=i686 -mtune=generic -mmmx -msse
 endif
endif
endif

ifeq ($(DEB_HOST_ARCH),amd64)
    OPTI_FLAGS_LIBONLY += -mmmx -msse -msse2
endif

export CFLAGS=$(LCFLAGSB) $(OPTI_FLAGS_LIBONLY)
export LDFLAGS=$(shell dpkg-buildflags --get LDFLAGS)
export CPPFLAGS=$(LCPFLAGSB) $(OPTI_FLAGS_LIBONLY)


%:
	dh $@ --with autoreconf

override_dh_clean:
	dh_clean
	find . -name Makefile.in -delete

override_dh_auto_configure:
	dh_auto_configure -- \
		--disable-dependency-tracking \
		--libdir=/usr/lib/lighttpd \
		--libexecdir="/usr/lib/lighttpd" \
		--with-attr \
		--with-brotli \
		--with-dbi \
		--with-gdbm \
		--with-krb5 \
		--with-ldap \
		--with-geoip \
		--with-memcached \
		--with-lua=lua5.1 \
		--with-mbedtls \
		--with-mysql \
		--with-nettle \
		--with-openssl \
		--with-pam \
		--with-pcre \
		--with-pgsql \
		--with-sasl \
		--with-webdav-locks \
		--with-webdav-props \
		--with-xxhash \
		--with-zstd \
		$(if $(filter pkg.lighttpd.libunwind,$(DEB_BUILD_PROFILES)),--with-libunwind) \
		CFLAGS_FOR_BUILD="$(shell dpkg-buildflags --get CFLAGS)" \
		LDFLAGS_FOR_BUILD="$(shell dpkg-buildflags --get LDFLAGS)" \
		CPPFLAGS_FOR_BUILD="$(LCPFLAGSB) $(OPTI_FLAGS_LIBONLY)"

override_dh_install:
	cp NEWS debian/tmp/changelog
	dh_install

override_dh_missing:
	dh_missing --fail-missing

override_dh_auto_test:
	dh_auto_test || true

#override_dh_installdocs:
#	dh_installdocs -Nlighttpd -Nlighttpd-doc --link-doc=lighttpd
#	dh_installdocs -plighttpd -plighttpd-doc

override_dh_fixperms-arch:
	dh_fixperms
	chmod 0750 debian/lighttpd/var/log/lighttpd
	chown www-data:www-data \
			debian/lighttpd/var/cache/lighttpd \
			debian/lighttpd/var/cache/lighttpd/compress \
			debian/lighttpd/var/cache/lighttpd/uploads \
			debian/lighttpd/var/log/lighttpd

override_dh_installinit:
	dh_installinit --error-handler=start_failed

override_dh_gencontrol:
	set -e; for p in `dh_listpackages`; do \
		test -d debian/$$p/usr/lib/lighttpd || continue; \
		m=`ls debian/$$p/usr/lib/lighttpd | sed 'y/_/-/;s/^mod-\(.*\)\.so$$/lighttpd-mod-\1,/;ta;d;:a /^'"$$p"',$$/d;' | xargs`; \
		echo "lighttpd:ModuleProvides=$$m" >> debian/$$p.substvars; \
	done
	dh_gencontrol
