#!/usr/bin/make -f

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

export DH_VERBOSE = 1
export DEB_BUILD_OPTIONS += noautodbgsym
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))

DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
include /usr/share/dpkg/architecture.mk

SCONS_BUILTINS = \
	builtin_brotli=no \
	builtin_certs=no \
	builtin_clipper2=yes \
	builtin_embree=yes \
	builtin_enet=no \
	builtin_freetype=no \
	builtin_glslang=yes \
	builtin_graphite=no \
	builtin_harfbuzz=no \
	builtin_icu4c=no \
	builtin_libogg=no \
	builtin_libpng=no \
	builtin_libtheora=no \
	builtin_libvorbis=no \
	builtin_libwebp=no \
	builtin_mbedtls=no \
	builtin_miniupnpc=no \
	builtin_msdfgen=yes \
	builtin_openxr=yes \
	builtin_pcre2=no \
	builtin_pcre2_with_jit=no \
	builtin_recastnavigation=no \
	builtin_rvo2_2d=yes \
	builtin_rvo2_3d=yes \
	builtin_squish=no \
	builtin_wslay=yes \
	builtin_xatlas=yes \
	builtin_zlib=no \
	builtin_zstd=no

CFLAGS += -fPIC -Wl,-z,relro,-z,now -w
CXXFLAGS += -fPIC -Wl,-z,relro,-z,now -w -std=c++17

SCONS_OPTIONS = \
	arch=$(DEB_HOST_GNU_CPU) \
	-j $(NUMJOBS) \
	CCFLAGS="$(CXXFLAGS)" LINKFLAGS="$(LDFLAGS)" CFLAGS="$(CFLAGS)" \
  system_certs_path=/etc/ssl/certs/ca-certificates.crt \
	$(SCONS_BUILTINS)

#export DH_VERBOSE = 1


# 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


%:
	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:
	scons $(SCONS_OPTIONS) platform=linuxbsd target=editor
	scons $(SCONS_OPTIONS) platform=linuxbsd target=template_release production=yes

override_dh_auto_install:
	install -Dm0755 bin/godot.linuxbsd.editor.$(DEB_HOST_GNU_CPU) \
		debian/tmp/usr/bin/godot
	install -Dm0644 misc/dist/linux/org.godotengine.Godot.desktop \
		-t debian/tmp/usr/share/applications/
	install -Dm0644 misc/dist/linux/org.godotengine.Godot.appdata.xml \
		-t debian/tmp/usr/share/metainfo/
	install -Dm0644 icon.svg debian/tmp/usr/share/icons/hicolor/scalable/apps/godot.svg
	install -Dm0644 icon.png debian/tmp/usr/share/icons/hicolor/256x256/apps/godot.png
	install -Dm0644 misc/dist/linux/godot.6 -t debian/tmp/usr/share/man/man6/
	sed 's/\/usr\/share\/licenses\/godot\//\/usr\/share\/doc\/godot\//' \
		-i debian/tmp/usr/share/man/man6/godot.6
	install -Dm0755 bin/godot.linuxbsd.template_release.$(DEB_HOST_GNU_CPU) \
		debian/tmp/usr/bin/godot-runner
	install -Dm0644 misc/dist/shell/godot.bash-completion \
		debian/tmp/usr/share/bash-completion/completions/godot
	install -Dm0644 misc/dist/shell/godot.bash-completion \
		debian/tmp/usr/share/bash-completion/completions/godot-runner
	sed '/^#!.*/d' -i debian/tmp/usr/share/bash-completion/completions/godot*
	dh_auto_install