#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/utils.mk
include /usr/share/cdbs/1/class/langcore.mk
include /usr/share/cdbs/1/rules/debhelper.mk

# Ignore wav files
DEB_COPYRIGHT_CHECK_IGNORE_EXTS = wav

# Needs and module hints for core package
core-deps = asound2 codec2 directfb evdev jack gsm1 opus opencore-amrnb
core-deps += opencore-amrwb png pulse re rem sndfile1 sndio spandsp
core-deps += speex speexdsp srtp0 twolame vpx
core-deps-extra = portaudio19-dev
core-mods-extra = b2bua codec2 directfb echo jack snapshot

CDBS_BUILD_DEPENDS +=, $(patsubst %,$(comma) lib%-dev,$(core-deps))
CDBS_BUILD_DEPENDS +=, $(core-deps-extra), pkg-config
EXTRA_MODULES += $(core-mods-extra)

# Needs and module hints for module packages
ffmpeg-deps = avcodec avformat avdevice swscale
ffmpeg-mods = avformat avcodec
ffmpeg-mods-extra = swscale
gstreamer-deps = gstreamer1.0 gstreamer-plugins-base1.0
gstreamer-mods = gst1 gst_video1
gtk-deps = gtk2.0
gtk-mods = gtk
x11-deps = cairo2 mpg123 xext x11
x11-mods = cairo rst vidinfo x11 x11grab

define MODULE_template =
CDBS_BUILD_DEPENDS +=, $$(patsubst %,$$(comma) lib%-dev,$$($1-deps))
EXTRA_MODULES += $$($1-mods-extra)
DEB_DH_INSTALL_ARGS_baresip-$1 = \
 $$(patsubst %,usr/lib/baresip/modules/%.so,$$($1-mods) $$($1-mods-extra)) \
 usr/lib/baresip/modules
# Do not install these modules as part of baresip
DEB_DH_INSTALL_ARGS_baresip += \
 $$(patsubst %,-X%.so,$$($1-mods) $$($1-mods-extra))
endef
$(foreach module,ffmpeg gstreamer gtk x11,\
 $(eval $(call MODULE_template,$(module))))

DEB_INSTALL_DOCS_ALL += README.md docs/TODO
DEB_INSTALL_EXAMPLES_$(pkg) = docs/examples/*

# LIBDIR for installation
LIBDIR=/usr/lib

# TODO: Drop when makefiles.mk can handle the package
common-build-arch common-build-indep:: build_rem_package
build_rem_package:
	make info all RELEASE=1 \
		V=1 \
		PREFIX=/usr/ \
		USE_OPENSSL=1 \
		USE_ZLIB=1 \
		USE_TLS=1 \
		USE_VIDEO=1 \
		USE_ALSA=1 \
		USE_AMR=1 \
		USE_AVCODEC=1 \
		USE_AVFORMAT=1 \
		USE_CAIRO=1 \
		USE_X11=1 \
		USE_MPG123=1 \
		USE_CONS=1 \
		USE_EVDEV=1 \
		USE_G711=1 \
		USE_G722=1 \
		USE_GSM=1 \
		USE_GST1=1 \
		USE_GST_VIDEO1=1 \
		USE_VP8=1 \
		USE_VP9=1 \
		USE_OPUS=1 \
		EXTRA_CFLAGS="$(CFLAGS) $(CPPFLAGS)" \
		EXTRA_LFLAGS="$(LDFLAGS)" \
		EXTRA_MODULES="$(EXTRA_MODULES)"

common-install-arch common-install-indep:: install_rem_package
install_rem_package:
	make install DESTDIR=debian/tmp V=1 PREFIX=/usr \
		EXTRA_MODULES="$(EXTRA_MODULES)"
