#!/usr/bin/make -f
# -*- makefile -*-
#
# Liang Guo <bluestonechina@gmail.com> 2010
# YunQiang Su <wzssyqa@gmail.com>, 2012
#
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1

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

SCONS=scons

%:
	dh $@

override_dh_auto_configure:

# GCC 15 起默认使用 C23 标准，空参数列表 () 被解释为 (void)，
# 导致 IMdkit 中旧式无原型函数指针声明编译失败；
# 显式回退到 gnu17 以保持旧式函数指针语义。
#
# 必须同时传入非空的 CXXFLAGS（-std=gnu++17，与 GCC 15 的 C++ 默认标准一致）：
# SConstruct 把 CXXFLAGS 初始化为单个字符串 '-O2 -g -pipe '，只有当环境变量
# CXXFLAGS 非空时 SCons MergeFlags 才会把它拆分成参数列表；否则后续
# Append(CXXFLAGS=Split(...)) 会把整个字符串作为单个参数传给 g++
# （即 "-O2 -g -pipe "），导致 cc1plus 报 “argument to '-O' should be ...”。
# install 阶段也传相同的环境变量，保证两阶段 scons 命令行一致，
# 避免安装时因命令签名变化触发重编并再次落入同一字符串拼接问题。
override_dh_auto_build:
	CFLAGS="$(CFLAGS) -std=gnu17" CXXFLAGS="$(CXXFLAGS) -std=gnu++17" $(SCONS) --prefix=$(DEB_DESTDIR)/usr

override_dh_auto_clean:
	dh_auto_clean
	$(SCONS)  -c
	rm -f .sconsign.dblite config.log configure.conf

override_dh_auto_install:
	CFLAGS="$(CFLAGS) -std=gnu17" CXXFLAGS="$(CXXFLAGS) -std=gnu++17" $(SCONS) install --prefix=$(DEB_DESTDIR)/usr --install-sandbox=debian/tmp
