#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#DH_VERBOSE = 1

# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk

# 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 = -Wl,--as-needed

# main packaging script based on dh7 syntax
%:
	dh $@

DOCS=LEGAL_TERMS README LICENSE_APACHE20

DEB_DH_INSTALL_SOURCEDIR = $(CURDIR)/debian/tmp

override_dh_auto_install:
	mkdir -p $(DEB_DH_INSTALL_SOURCEDIR)/tmp
	cp -a $(CURDIR)/debian/release_asfvolt16_V3.4.9.6.202012040101.tar.gz $(DEB_DH_INSTALL_SOURCEDIR)/tmp
	cp -a $(CURDIR)/debian/libz.so.1 $(DEB_DH_INSTALL_SOURCEDIR)/tmp
	cp -a $(CURDIR)/debian/libstdc++.so.6 $(DEB_DH_INSTALL_SOURCEDIR)/tmp
	cp -a $(CURDIR)/debian/libbal_host_api.so $(DEB_DH_INSTALL_SOURCEDIR)/tmp
	cp -a $(CURDIR)/debian/openolt $(DEB_DH_INSTALL_SOURCEDIR)/tmp
	cp -a $(CURDIR)/debian/init.d $(DEB_DH_INSTALL_SOURCEDIR)/tmp
	cp -a $(CURDIR)/debian/logrotate.d $(DEB_DH_INSTALL_SOURCEDIR)/tmp
	cp -a $(CURDIR)/debian/watchdog $(DEB_DH_INSTALL_SOURCEDIR)/tmp
	cp -a $(CURDIR)/debian/read_rxtx_power $(DEB_DH_INSTALL_SOURCEDIR)/tmp

#override_dh_shlibdeps:
#	dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info -l$(ONLP_LIB_PATH):$(OFDPA_LIB_PATH)

# avoid auto strip for debug ofagentapp.dbg
#
#override_dh_strip:
#	echo "No auto strip!"

#override_dh_installdeb:
#	dh_installdeb
#	for pkg in $$(dh_listpackages); do \
#		sed -i -e 's!#DEB_SOURCE#!$(DEB_SOURCE)!' debian/$$pkg/DEBIAN/*; \
#		sed -i -e 's!#OPDPA_VER_SUFFIX#!-$(OPDPA_VER)!g' debian/$$pkg/DEBIAN/*; \
#	done

test:
	@echo DEB_SOURCE=$(DEB_SOURCE)
	@echo DEB_VERSION=$(DEB_VERSION)
	@echo DEB_VERSION_EPOCH_UPSTREAM=$(DEB_VERSION_EPOCH_UPSTREAM)
	@echo DEB_VERSION_UPSTREAM_REVISION=$(DEB_VERSION_UPSTREAM_REVISION)
	@echo DEB_VERSION_UPSTREAM=$(DEB_VERSION_UPSTREAM)
	@echo DEB_DISTRIBUTION=$(DEB_DISTRIBUTION)
	@echo DEB_HOST_ARCH=$(DEB_HOST_ARCH)
	@echo DEB_HOST_ARCH_CPU=$(DEB_HOST_ARCH_CPU)
	@echo DEB_HOST_ARCH_OS=$(DEB_HOST_ARCH_OS)
	@echo DEB_HOST_GNU_TYPE=$(DEB_HOST_GNU_TYPE)
	@echo DEB_HOST_GNU_CPU=$(DEB_HOST_GNU_CPU)
	@echo DEB_HOST_GNU_SYSTEM=$(DEB_HOST_GNU_SYSTEM)
	@echo DEB_BUILD_ARCH=$(DEB_BUILD_ARCH)
	@echo DEB_BUILD_ARCH_CPU=$(DEB_BUILD_ARCH_CPU)
	@echo DEB_BUILD_ARCH_OS=$(DEB_BUILD_ARCH_OS)
	@echo DEB_BUILD_GNU_TYPE=$(DEB_BUILD_GNU_TYPE)
	@echo DEB_BUILD_GNU_CPU=$(DEB_BUILD_GNU_CPU)
	@echo DEB_BUILD_GNU_SYSTEM=$(DEB_BUILD_GNU_SYSTEM)
	@echo ONLP_LIB_PATH=$(ONLP_LIB_PATH)
#	@echo OFDPA_LIB_PATH=$(OFDPA_LIB_PATH)
#	@echo OFDPA_BIN_PATH=$(OFDPA_BIN_PATH)
