#!/usr/bin/make -f export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed 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) CPPFLAGS+=-DBUILD_DATE='"$(BUILD_DATE)"' CXXFLAGS+=-std=c++11 -Wno-error LIBS=$(shell pkg-config --libs libjpeg libpng libcurl) # 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) LIBS += -latomic endif %: dh $@ override_dh_auto_configure: dh_auto_configure -- \ --enable-vst \ --enable-system-catch \ --target=linux \ LIBS="$(LIBS)" override_dh_auto_build: cp -rav /usr/share/juce src/deps/ dh_auto_build override_dh_auto_test: @echo home: $(HOME) HOME=/tmp xvfb-run -a dh_auto_test -a || (grep . test-suite.log giada_test.log; false) override_dh_auto_clean: dh_auto_clean test -e src/deps/rtaudio-mode/Makefile && make -C src/deps/rtaudio-mod/ distclean || true override_dh_installchangelogs: dh_installchangelogs ChangeLog override_dh_gencontrol: dh_gencontrol -- \ -Vjuce:BuiltUsing="juce ( = $(JUCE_VERSION) )" ## all the file-exclusion magic is handled by debian/copyright get-orig-source: uscan --download