#!/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

ifeq ($(DEB_ASM_AMD64),1)
 # gcc + x64-asm
 m = ../../cmpl_gcc_x64.mak
 export DEB_BUILDER_ID = g_x64
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
