#!/usr/bin/make -f

# See debhelper(7) (uncomment to enable).
# Output every command that modifies files on the build system.

include /usr/share/dpkg/architecture.mk

#export DH_VERBOSE = 1


# See FEATURE AREAS in dpkg-buildflags(1).
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all

export DEB_BUILD_MAINT_OPTIONS=hardening=+all reproducible=+all

include debian/arch-options.mak

# Use assembler code for amd64
DEB_ASM_AMD64 = 0
ifeq ($(DEB_HOST_ARCH),amd64)
  ifeq ($(DEB_BUILD_ARCH),amd64)
    DEB_ASM_AMD64 = 1
  endif
endif

# Use assembler code for arm64
DEB_ASM_ARM64 = 0
ifeq ($(DEB_HOST_ARCH),arm64)
  DEB_ASM_ARM64 = 1
endif

ifeq      ($(DEB_ASM_AMD64),1)
  # gcc + x64-asm
  m = ../../cmpl_gcc_x64.mak
  export DEB_BUILDER_ID = g_x64
else ifeq ($(DEB_ASM_ARM64),1)
  # gcc + arm64-asm
  m = ../../cmpl_gcc_arm64.mak
  export DEB_BUILDER_ID = g_arm64
else
  # gcc
  m = ../../cmpl_gcc.mak
  export DEB_BUILDER_ID = g
endif

# 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


%:
	dh $@


# dh_make generated override targets.
# This is an example for Cmake (see <https://bugs.debian.org/641051>).
#override_dh_auto_configure:
#	dh_auto_configure -- \
#	-DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)

override_dh_auto_build:
	$(MAKE) -C CPP/7zip/Bundles/Alone2 -f $(m) \
		CROSS_COMPILE="$(DEB_HOST_GNU_TYPE)-" \
		DISABLE_RAR=1 \
		DEB_CFLAGS="$(CFLAGS) -pipe" \
		DEB_CXXFLAGS="$(CXXFLAGS) -pipe" \
		DEB_CPPFLAGS="$(CPPFLAGS)" \
		DEB_LDFLAGS="$(LDFLAGS) -pipe"
	$(MAKE) -C CPP/7zip/Bundles/Format7zF -f $(m) \
		CROSS_COMPILE="$(DEB_HOST_GNU_TYPE)-" \
		DISABLE_RAR_COMPRESS=1 \
		DEB_CFLAGS="$(CFLAGS) -pipe" \
		DEB_CXXFLAGS="$(CXXFLAGS) -pipe" \
		DEB_CPPFLAGS="$(CPPFLAGS)" \
		DEB_LDFLAGS="$(LDFLAGS) -pipe"
	$(MAKE) -C CPP/7zip/UI/Console -f $(m) \
		CROSS_COMPILE="$(DEB_HOST_GNU_TYPE)-" \
		DISABLE_RAR=1 \
		DEB_CFLAGS="$(CFLAGS) -pipe" \
		DEB_CXXFLAGS="$(CXXFLAGS) -pipe" \
		DEB_CPPFLAGS="$(CPPFLAGS)" \
		DEB_LDFLAGS="$(LDFLAGS) -pipe"
	$(MAKE) -C CPP/7zip/Bundles/SFXCon -f $(m) \
		CROSS_COMPILE="$(DEB_HOST_GNU_TYPE)-" \
		DISABLE_RAR=1 \
		DEB_CFLAGS="$(CFLAGS) -pipe" \
		DEB_CXXFLAGS="$(CXXFLAGS) -pipe" \
		DEB_CPPFLAGS="$(CPPFLAGS)" \
		DEB_LDFLAGS="$(LDFLAGS) -pipe"
	$(MAKE) -C CPP/7zip/Bundles/Alone -f $(m) \
		CROSS_COMPILE="$(DEB_HOST_GNU_TYPE)-" \
		DISABLE_RAR=1 \
		DEB_CFLAGS="$(CFLAGS) -pipe" \
		DEB_CXXFLAGS="$(CXXFLAGS) -pipe" \
		DEB_CPPFLAGS="$(CPPFLAGS)" \
		DEB_LDFLAGS="$(LDFLAGS) -pipe"
	$(MAKE) -C CPP/7zip/Bundles/Alone7z -f $(m) \
		CROSS_COMPILE="$(DEB_HOST_GNU_TYPE)-" \
		DISABLE_RAR=1 \
		DEB_CFLAGS="$(CFLAGS) -pipe" \
		DEB_CXXFLAGS="$(CXXFLAGS) -pipe" \
		DEB_CPPFLAGS="$(CPPFLAGS)" \
		DEB_LDFLAGS="$(LDFLAGS) -pipe"

override_dh_auto_clean:
	$(MAKE) -C CPP/7zip/Bundles/Alone2    -f $(m) clean
	$(MAKE) -C CPP/7zip/Bundles/Format7zF -f $(m) clean
	$(MAKE) -C CPP/7zip/UI/Console        -f $(m) clean
	$(MAKE) -C CPP/7zip/Bundles/Alone7z   -f $(m) clean
	$(MAKE) -C CPP/7zip/Bundles/SFXCon    -f $(m) clean
	$(MAKE) -C CPP/7zip/Bundles/Alone     -f $(m) clean
	$(MAKE) -C CPP/7zip/Bundles/Alone7z   -f $(m) clean