#!/usr/bin/make -f export CXX=hipcc export HIP_CLANG_PATH=/usr/lib/llvm-22/bin export DEB_BUILD_MAINT_OPTIONS = hardening=+all optimize=-lto export DEB_CXXFLAGS_MAINT_PREPEND = -gz # -Wl,--gc-sections: # Fixes linker errors ("relocation refers to a discarded section") when using gtest. # The linker's section garbage collection incorrectly discards needed code due to # a toolchain mismatch (ROCm's clang vs. the system's GCC). This flag forces the # linker to correctly re-evaluate dependencies, keeping the required sections. export DEB_LDFLAGS_MAINT_PREPEND = -Wl,--gc-sections export VERBOSE=1 #export AMD_LOG_LEVEL=4 # filter incompatible options from affecting device code CXXFLAGS := $(subst -fstack-protector-strong,-Xarch_host -fstack-protector-strong,$(CXXFLAGS)) CXXFLAGS := $(subst -fcf-protection,-Xarch_host -fcf-protection,$(CXXFLAGS)) CMAKE_FLAGS = \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_LIBDIR=share \ -DGPU_TARGETS="$(shell rocm-target-arch --sep ';')" \ -DROCM_SYMLINK_LIBS=OFF \ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF \ -DCMAKE_SKIP_INSTALL_RPATH=ON %: dh $@ override_dh_auto_configure-arch: dh_auto_configure -- $(CMAKE_FLAGS) -DBUILD_TEST=ON override_dh_auto_configure-indep: dh_auto_configure -- $(CMAKE_FLAGS) override_dh_auto_test-arch: ifeq (,$(filter noinsttest,$(DEB_BUILD_OPTIONS))) set -e \ ; if [ -r /dev/kfd ] \ ; then dh_auto_test --no-parallel -- \ ; else echo "W: /dev/kfd unreadable: no available AMD GPU." \ ; echo "W: tests skipped." \ ; fi endif override_dh_auto_test-indep: : # dwz doesn't fully support DWARF-5 yet, see #1016936 override_dh_dwz: : execute_before_dh_install-arch: : override_dh_auto_install-indep: dh_auto_install --destdir=debian/tmp override_dh_gencontrol: dh_gencontrol -- -Vrocm:GPU-Architecture="$(shell rocm-target-arch)" # Ensure shlibdeps finds private test libs and ignore plugin-like .so resolution override_dh_shlibdeps: dh_shlibdeps -Xlibtest_linking_lib1 -- -ldebian/librocprim-tests/usr/libexec/rocm/librocprim-tests dh_shlibdeps -Xlibtest_linking_lib2 -- -ldebian/librocprim-tests/usr/libexec/rocm/librocprim-tests override_dh_fixperms-arch: dh_fixperms chmod 0644 debian/librocprim-tests/usr/libexec/rocm/librocprim-tests/libtest_linking_lib*.so