File: rules

package info (click to toggle)
giada 1.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,516 kB
  • sloc: cpp: 30,620; sh: 144; xml: 66; makefile: 55; ansic: 1
file content (80 lines) | stat: -rwxr-xr-x 2,906 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
#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
export DEB_CPPFLAGS_MAINT_APPEND =
export DEB_CXXFLAGS_MAINT_APPEND =
export DEB_LDFLAGS_MAINT_APPEND =

DATE_FMT = %Y-%m-%d
ifdef SOURCE_DATE_EPOCH
    BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)"  2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)" 2>/dev/null || date -u "+$(DATE_FMT)")
else
    BUILD_DATE ?= $(shell date "+$(DATE_FMT)")
endif

JUCE_VERSION := $(shell dpkg-query --show --showformat='$${source:Version}' juce-modules-source juce-modules-source-data | head -1)
pkglibs := libjpeg libpng flac vorbis vorbisfile vorbisenc ogg zlib libcurl rtaudio cairo

PKG_CONFIG ?= pkg-config
pkglibs_cflags := $(shell $(PKG_CONFIG) --cflags $(pkglibs))
pkglibs_libs := $(shell $(PKG_CONFIG) --libs $(pkglibs))


DEB_CPPFLAGS_MAINT_APPEND += -DBUILD_DATE='"$(BUILD_DATE)"' -DTEST_RESOURCES_DIR='"tests/resources/"'
DEB_CXXFLAGS_MAINT_APPEND += -std=c++17 -Wno-error -Wno-error=format-security
DEB_CXXFLAGS_MAINT_APPEND += $(pkglibs_cflags)
DEB_LDFLAGS_MAINT_APPEND  += $(pkglibs_libs)

# JUCE (used by giada) uses some c++11 features requiring atomic_store_8 and
# atomic_load_8, so we need to link with libatomic on
# armel, powerpc, powerpcspe, m68k, mips, mipsel, sh4, ...
# see also:
# - https://gcc.gnu.org/wiki/Atomic
# - https://gcc.gnu.org/wiki/Atomic/GCCMM/LIbrary
# - the 'clasp' packaging
noatomicarch = $(shell dpkg-architecture -qDEB_HOST_ARCH | egrep -x "(armel|powerpc|powerpcspe|m68k|mips|mipsel|sh4|riscv64)")
# link with libatomic on architectures without built-in atomic
ifeq ($(if $(noatomicarch),atomic), atomic)
	DEB_LDFLAGS_MAINT_APPEND += -latomic
endif

%:
	dh $@

execute_before_dh_auto_configure:
	for d in $(notdir $(patsubst %/,%,$(wildcard debian/missing-sources/*/))); do \
		mkdir -p src/deps/$$d/src/; \
		cp debian/missing-sources/$$d/* src/deps/$$d/src/; \
	done
override_dh_auto_configure:
	dh_auto_configure -- \
		-DWITH_VST2=ON -DVST2_SDK_PATH=/usr/include \
		-DWITH_VST3=ON \
		-DEXTRA_LIBRARIES="$(DEB_LDFLAGS_MAINT_APPEND)" \
		$(empty)

override_dh_auto_test:
	HOME=/tmp xvfb-run -a dh_auto_test -a || (grep . test-suite.log giada_test.log; false)

execute_after_dh_clean:
	test -e src/deps/rtaudio-mod/Makefile && make -C src/deps/rtaudio-mod/ distclean || true
	for d in $(notdir $(patsubst %/,%,$(wildcard debian/missing-sources/*/))); do \
		rm -rf src/deps/$$d; \
	done

override_dh_installchangelogs:
	dh_installchangelogs ChangeLog


DEB_COPYRIGHT_CHECK_IGNORE_REGEX = \
        debian/.*|.*\.png
# licensecheck v1
.PHONY: licensecheck
licensecheck:
	LANG=C.UTF-8 licensecheck \
		-i "^($(DEB_COPYRIGHT_CHECK_IGNORE_REGEX))$$" \
		--check '.*' --recursive --deb-machine --lines 0 * \
		> debian/copyright_newhints
	cmp debian/copyright_hints debian/copyright_newhints \
		&& rm debian/copyright_newhints