#!/usr/bin/make -f

include /usr/share/dpkg/architecture.mk

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

%:
	dh $@

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
