#!/usr/bin/make -f export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow built_binaries := $(shell dh_listpackages) include /usr/share/dpkg/default.mk confflags = \ --disable-alsa-shared \ --disable-arts \ --disable-directx \ --disable-esd \ --disable-fusionsound \ --disable-jack \ --disable-joystick-mfi \ --disable-kmsdrm-shared \ --disable-libsamplerate-shared \ --disable-nas \ --disable-pulseaudio-shared \ --disable-render-d3d \ --disable-rpath \ --disable-video-cocoa \ --disable-video-directfb \ --disable-video-metal \ --disable-video-opengles1 \ --disable-video-rpi \ --disable-video-vivante \ --disable-wasapi \ --disable-wayland-shared \ --disable-x11-shared \ --disable-xinput \ --enable-alsa \ --enable-dbus \ --enable-fcitx \ --enable-hidapi \ --enable-hidapi-joystick \ --enable-ibus \ --enable-libsamplerate \ --enable-pulseaudio \ --enable-sdl2-config \ --enable-sndio \ --enable-vendor-info="${DEB_VENDOR} ${DEB_VERSION}" \ --enable-video-kmsdrm \ --enable-video-opengl \ --enable-video-opengles \ --enable-video-opengles2 \ --enable-video-x11 \ $(NULL) # disable autoheader (invoked automatically by autoreconf), necessary in order # to use debhelper compat level v10 without overriding dh-autoreconf calls export AUTOHEADER := /bin/true ifeq ($(DEB_HOST_ARCH_CPU),powerpc) confflags += --disable-altivec endif ifeq ($(DEB_HOST_ARCH_CPU),ppc64el) confflags += --disable-altivec endif ifeq ($(DEB_HOST_ARCH_OS),linux) confflags += --enable-libdecor confflags += --enable-libudev confflags += --enable-pipewire confflags += --enable-video-vulkan confflags += --enable-video-wayland else confflags += --disable-libdecor confflags += --disable-libudev confflags += --disable-pipewire confflags += --disable-video-vulkan confflags += --disable-video-wayland endif # don't use libunwind even if it happens to be installed confflags += ac_cv_header_libunwind_h=no %: dh $@ override_dh_auto_configure: dh_auto_configure -- $(confflags) # test/configure.ac uses AC_PATH_X, so we need to pass in # --x-includes and --x-libraries to avoid it wanting to use # xmkmf to discover the right values. # test/configure.ac doesn't respect CPPFLAGS or LDFLAGS. dh_auto_configure \ --buildsystem=autoconf \ --sourcedirectory=$(CURDIR)/test \ --builddirectory=$(CURDIR)/debian/build-tests \ -- \ --x-includes=/usr/include \ --x-libraries=/usr/lib/$(DEB_HOST_MULTIARCH) \ SDL_CFLAGS=-I$(CURDIR)/include \ SDL_LIBS="-L$(CURDIR)/build/.libs -lSDL2" \ ac_cv_lib_SDL2_ttf_TTF_Init=no \ CFLAGS="$(CPPFLAGS) $(CFLAGS) $(LDFLAGS)" \ $(NULL) override_dh_auto_build-indep: GZIP="-9n" tar \ --exclude=autom4te.cache \ --owner=0 --group=0 --mode=go=rX,u+rw,a-s \ --clamp-mtime --mtime="@$(SOURCE_DATE_EPOCH)" \ --sort=name \ -czf debian/examples.tar.gz test sed -e 's/FULL_PATH_NAMES *=.*/FULL_PATH_NAMES = NO/' < docs/doxyfile > debian/Doxyfile cd docs && doxygen ../debian/Doxyfile # useless files find docs/output -name "*.md5" -delete find docs/output -type d -empty -delete # Force examples to be installed in libsdl2-doc, it does not happen with compat # level v11 despite having the file debian/libsdl2-doc.examples (it gets # installed as part of libsdl2-dev instead) override_dh_installexamples-indep: dh_installexamples -i --doc-main-package=libsdl2-doc override_dh_auto_build-arch: build-library build-tests override_dh_auto_build-indep: build-library build-library: dh_auto_build -- V=1 build-tests: dh_auto_build \ --buildsystem=autoconf \ --sourcedirectory=$(CURDIR)/test \ --builddirectory=$(CURDIR)/debian/build-tests \ -- \ V=1 override_dh_auto_clean-indep: dh_auto_clean rm -f debian/Doxyfile rm -f debian/examples.tar.gz rm -rf docs/output override_dh_auto_test-arch: dh_auto_test LD_LIBRARY_PATH=$(CURDIR)/build/.libs \ dh_auto_test \ --buildsystem=autoconf \ --sourcedirectory=$(CURDIR)/test \ --builddirectory=$(CURDIR)/debian/build-tests \ -- \ V=1 override_dh_auto_install-arch: dh_auto_install -- V=1 dh_auto_install \ --buildsystem=autoconf \ --sourcedirectory=$(CURDIR)/test \ --builddirectory=$(CURDIR)/debian/build-tests \ -- \ V=1 # debhelper >= 13.4 makes all of /usr/libexec executable, which is not # quite right for installed-tests override_dh_fixperms: dh_fixperms -Xusr/libexec/installed-tests ifneq ($(filter %-tests,$(built_binaries)),) chmod --recursive --changes a+rX,u+w,og-w debian/libsdl2-tests/usr/libexec/installed-tests endif override_dh_install: mkdir -p debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/SDL2 mv debian/tmp/usr/include/SDL2/SDL_config.h debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/SDL2/_real_SDL_config.h ln -s ../../SDL2/SDL_platform.h debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/SDL2/ ln -s ../../SDL2/begin_code.h debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/SDL2/ ln -s ../../SDL2/close_code.h debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/SDL2/ dh_install override_dh_link: # to address lintian warning # W: libsdl2-2.0-0: dev-pkg-without-shlib-symlink usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.0.0 usr/lib/x86_64-linux-gnu/libSDL2-2.0.so dh_link -plibsdl2-dev usr/lib/$(DEB_HOST_MULTIARCH)/libSDL2-2.0.so.0 usr/lib/$(DEB_HOST_MULTIARCH)/libSDL2-2.0.so dh_link --remaining-packages override_dh_installchangelogs: dh_installchangelogs -- WhatsNew.txt