#!/usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/architecture.mk include /usr/share/dpkg/buildflags.mk include /usr/share/dpkg/pkg-info.mk # Enable parallel builds. NUMJOBS = 1 ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) MAKEFLAGS += -j$(NUMJOBS) endif export RADCLI=1 export WOLFSSL_INTERNAL=no # tlsa export KTLS_INCLUDE_TLSA=yes export LIBSSL_STATIC_SRCLIB=yes export LIBSSL_STATIC_SRCPATH=/usr/$(LIBDIR) # Modules not in the "main" kamailio package: EXCLUDED_MODULES = EXCLUDED_MODULES += mono EXCLUDED_MODULES += geoip EXCLUDED_MODULES += dnssec EXCLUDED_MODULES += java EXCLUDED_MODULES += berkeley # Extra modules to skip, because they are not compilable now: # - regardless if they go to the main kamailio package or to some module # package, they will be excluded from compile and install of all. EXTRA_EXCLUDED_MODULES += bdb EXTRA_EXCLUDED_MODULES += oracle EXTRA_EXCLUDED_MODULES += pa EXTRA_EXCLUDED_MODULES += iptrtpproxy ## --EXCLUDED-- # Module groups that are packaged in separate packages (with the name # kamailio-$(group_name)-modules). # Note: the order is important (should be in dependency order, the one # on which other depend first) PACKAGE_GROUPS += mysql PACKAGE_GROUPS += postgres PACKAGE_GROUPS += unixodbc PACKAGE_GROUPS += radius PACKAGE_GROUPS += presence PACKAGE_GROUPS += ldap PACKAGE_GROUPS += xml PACKAGE_GROUPS += perl PACKAGE_GROUPS += utils PACKAGE_GROUPS += lua PACKAGE_GROUPS += memcached PACKAGE_GROUPS += snmpstats PACKAGE_GROUPS += xmpp PACKAGE_GROUPS += cpl PACKAGE_GROUPS += redis PACKAGE_GROUPS += geoip2 PACKAGE_GROUPS += sqlite PACKAGE_GROUPS += json PACKAGE_GROUPS += ruby PACKAGE_GROUPS += ims PACKAGE_GROUPS += sctp PACKAGE_GROUPS += tls PACKAGE_GROUPS += outbound PACKAGE_GROUPS += websocket PACKAGE_GROUPS += autheph PACKAGE_GROUPS += kazoo PACKAGE_GROUPS += cnxcc PACKAGE_GROUPS += erlang PACKAGE_GROUPS += systemd PACKAGE_GROUPS += phonenum PACKAGE_GROUPS += mongodb PACKAGE_GROUPS += rabbitmq PACKAGE_GROUPS += python3 PACKAGE_GROUPS += mqtt PACKAGE_GROUPS += secsipid PACKAGE_GROUPS += lwsc PACKAGE_GROUPS += nats PACKAGE_GROUPS += tls_wolfssl PACKAGE_GROUPS += microhttpd PACKAGE_GROUPS += kafka PACKAGE_GROUPS += auth_blockchain # Module groups to be packaged onto kamailio-extra-modules. EXTRA_GROUPS += ev EXTRA_GROUPS += gzcompress EXTRA_GROUPS += jansson EXTRA_GROUPS += uuid EXTRA_GROUPS += jwt EXTRA_GROUPS += http_async INSTALL_MODULES := $(addprefix install_, $(PACKAGE_GROUPS)) # https://wiki.debian.org/ReproducibleBuilds/ export DEB_CFLAGS_MAINT_APPEND=-DVERSION_NODATE .PHONY: skip-modules $(INSTALL_MODULES) skip-modules: @echo "$(EXCLUDED_MODULES) $(EXTRA_EXCLUDED_MODULES)" %: dh $@ --buildsystem=cmake override_dh_auto_configure: dh_auto_configure -- \ -DBUILD_DOC=ON \ -DUSE_GIT=OFF \ -DEXCLUDE_MODULES="$(EXCLUDED_MODULES) $(EXTRA_EXCLUDED_MODULES)" \ -DMODULE_GROUP_NAME="KSTANDARD $(shell echo "$(addprefix K, $(PACKAGE_GROUPS) $(EXTRA_GROUPS))"| tr '[:lower:]' '[:upper:]')" execute_after_dh_auto_build: cmake --build "obj-${DEB_HOST_GNU_TYPE}" -t dbschema override_dh_auto_test: