File: rules

package info (click to toggle)
libsdl2 2.0.5%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 58,388 kB
  • ctags: 25,049
  • sloc: ansic: 156,430; sh: 11,305; objc: 5,791; cpp: 5,594; perl: 1,146; makefile: 523; python: 53
file content (102 lines) | stat: -rwxr-xr-x 3,961 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/usr/bin/make -f

SHLIBVER = 2.0.4

DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

confflags = --disable-rpath --enable-sdl-dlopen --disable-loadso \
            --disable-nas --disable-esd --disable-arts \
            --disable-alsa-shared --disable-pulseaudio-shared \
            --enable-ibus \
            --disable-x11-shared --disable-video-directfb \
            --enable-video-opengles \
            --enable-video-wayland --disable-wayland-shared

ifeq ($(DEB_HOST_ARCH_CPU),powerpc)
  confflags += --disable-altivec
endif

ifeq ($(DEB_HOST_ARCH_CPU),ppc64el)
  confflags += --disable-altivec
endif

# disable Wayland on non-Linux, they do not support other kernels at the moment
ifeq (hurd,$(findstring hurd,$(DEB_HOST_ARCH_CPU)))
  confflags += --disable-video-wayland
endif
ifeq (kfreefsd,$(findstring kfreebsd,$(DEB_HOST_ARCH_CPU)))
  confflags += --disable-video-wayland
endif

# disable OpenGLES on Hurd, it does not support it at the moment
ifeq (hurd,$(findstring hurd,$(DEB_HOST_ARCH_CPU)))
  confflags += --disable--video-opengles
endif

# for reproducible builds, timestamps_in_tarball
SOURCE_DATE := $(shell dpkg-parsechangelog --show-field=Date)


%:
	dh $@ --with autoreconf --parallel

override_dh_autoreconf:
        # aclocal needs to include in specific order, and/or it seems that
        # doesn't try to find .m4 files in /usr/share/aclocal at all.  Updates
        # to both .m4 files and ltmain.sh (aclocal and libtoolize) are necessary
        # to support new architectures aarch64 (arm64) and powerpc64le, and this
        # seems the more straight way to achieve it.
        #
        # An alternative would be to just build-depend on libesd0-dev,
        # libasound2-dev and libltdl-dev to provide the files "esd.m4 alsa.m4
        # ltdl.m4" in /usr/share/aclocal, and not use the local "acinclude" dir
        # at all, but this pull even more dependencies, and unneeded ones.
        #
        # Another equivalent alternative, but more verbose:
        #
        # ACLOCAL="cat acinclude/esd.m4 acinclude/alsa.m4 acinclude/ltdl.m4 \
        #           /usr/share/aclocal/libtool.m4 \
        #           /usr/share/aclocal/ltoptions.m4 \
        #           /usr/share/aclocal/ltversion.m4 \
        #           /usr/share/aclocal/ltsugar.m4 >> aclocal.m4; aclocal"
        #          LIBTOOLIZE="libtoolize -f -i" dh_autoreconf --as-needed
        #          autoreconf -- -I acinclude -f -i
	AUTOHEADER=true ACLOCAL="aclocal --force --install -I /usr/share/aclocal/ -I acinclude" LIBTOOLIZE="libtoolize -fi" dh_autoreconf --as-needed
        # To verify that it worked, grep should find these strings:
        #
        #rgrep -i aarch64 .
        #rgrep -r powerpc64le .

override_dh_auto_configure:
	dh_auto_configure -- $(confflags)

override_dh_auto_build-indep:
	GZIP="-9n" tar czf debian/examples.tar.gz test --owner=0 --group=0 --mode=go=rX,u+rw,a-s --clamp-mtime --mtime="$(SOURCE_DATE)" --sort=name
	doxygen docs/doxyfile
	# useless files
	find output -name "*.md5" -delete
	find output -type d -empty -delete

	find output -name "jquery.js" -delete
	dh_link -plibsdl2-doc usr/share/javascript/jquery/jquery.js usr/share/doc/libsdl2-doc/html/jquery.js

override_dh_auto_clean-indep:
	dh_auto_clean
	rm -f debian/examples.tar.gz
	rm -rf output

override_dh_install:
	dh_install --fail-missing -XlibSDL2.la

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.4.1 usr/lib/$(DEB_HOST_MULTIARCH)/libSDL2-2.0.so
	dh_link --remaining-packages

override_dh_makeshlibs:
	dh_makeshlibs -V"libsdl2-2.0-0 (>= $(SHLIBVER))"

override_dh_strip:
	dh_strip --dbgsym-migration='libsdl2-dbg (<< 2.0.4+dfsg2-1~)'