|
@@ -109,59 +109,60 @@ LD_EXTRA_OPTS := $(shell dpkg-buildflags --get LDFLAGS)
|
|
|
# https://wiki.debian.org/ReproducibleBuilds/
|
|
|
CC_EXTRA_OPTS += -DVERSION_NODATE
|
|
|
|
|
|
-# "function" to get package short name out of a dir/module_name
|
|
|
-# it also transforms db_foo into foo
|
|
|
-mod_name=$(subst db_,,$(lastword $(subst /, ,$(1))))
|
|
|
-
|
|
|
-define PACKAGE_GRP_BUILD_template
|
|
|
- # package all the modules in PACKAGE_GROUPS in separate packages
|
|
|
- $(foreach grp,$(PACKAGE_GROUPS),\
|
|
|
- $(MAKE) every-module group_include="k$(grp)" quiet=verbose
|
|
|
- )
|
|
|
-endef
|
|
|
-
|
|
|
-define PACKAGE_GRP_INSTALL_template
|
|
|
- $(foreach grp,$(PACKAGE_GROUPS),\
|
|
|
- $(MAKE) install-modules-all LIBDIR=$(LIBDIR) group_include="k$(grp)" \
|
|
|
- BASEDIR=$(D)-$(grp)-modules \
|
|
|
- cfg_prefix=$(D)-$(grp)-modules \
|
|
|
- doc-dir=share/doc/$(DEB_SOURCE)-$(grp)-modules quiet=verbose
|
|
|
- # eliminate duplicate libs
|
|
|
- -for d in $(DUP_LIBS_DIRS); do \
|
|
|
- test "$$d" != "$(D)-$(grp)-modules/usr/$(LIBDIR)/kamailio" &&\
|
|
|
- for r in `find $$d -name 'lib*'|xargs`; do \
|
|
|
- echo "removing $(grp) lib `basename $$r` present also in $$d";\
|
|
|
- rm -f $(D)-$(grp)-modules/usr/$(LIBDIR)/kamailio/`basename "$$r"` ; \
|
|
|
- done ; \
|
|
|
- done
|
|
|
- find $(D)-$(grp)-modules -depth -empty -type d -exec rmdir {} \;
|
|
|
- )
|
|
|
-endef
|
|
|
-
|
|
|
-define PACKAGE_EXTRA_BUILD_template
|
|
|
- # package all the modules in EXTRA_GROUPS in separate packages
|
|
|
- $(foreach grp,$(EXTRA_GROUPS),\
|
|
|
- $(MAKE) every-module group_include="k$(grp)" quiet=verbose
|
|
|
- )
|
|
|
-endef
|
|
|
-
|
|
|
-define PACKAGE_EXTRA_INSTALL_template
|
|
|
- $(foreach grp,$(EXTRA_GROUPS),\
|
|
|
- $(MAKE) install-modules-all LIBDIR=$(LIBDIR) group_include="k$(grp)" \
|
|
|
- BASEDIR=$(D)-extra-modules \
|
|
|
- cfg_prefix=$(D)-extra-modules \
|
|
|
- doc-dir=share/doc/$(DEB_SOURCE)-extra-modules quiet=verbose
|
|
|
- )
|
|
|
- # eliminate duplicate libs
|
|
|
- -for d in $(DUP_LIBS_DIRS); do \
|
|
|
- test "$$d" != "$(D)-extra-modules/usr/$(LIBDIR)/kamailio" &&\
|
|
|
- for r in `find $$d -name 'lib*'|xargs`; do \
|
|
|
- echo "removing extra lib `basename $$r` present also in $$d";\
|
|
|
- rm -f $(D)-extra-modules/usr/$(LIBDIR)/kamailio/`basename "$$r"` ; \
|
|
|
- done ; \
|
|
|
+BUILD_MODULES := $(addprefix build_, $(PACKAGE_GROUPS) $(EXTRA_GROUPS))
|
|
|
+INSTALL_MODULES := $(addprefix install_, $(PACKAGE_GROUPS))
|
|
|
+INSTALL_EXTRA := $(addprefix install_, $(EXTRA_GROUPS))
|
|
|
+
|
|
|
+.PHONY: test_build_all $(BUILD_MODULES) test_install_all $(INSTALL_MODULES) $(INSTALL_EXTRA)
|
|
|
+test_build_all:
|
|
|
+ dh_testdir
|
|
|
+ $(MAKE) all quiet=verbose
|
|
|
+
|
|
|
+$(BUILD_MODULES): test_build_all
|
|
|
+ $(MAKE) every-module group_include="k$(subst build_,,$@)" quiet=verbose
|
|
|
+
|
|
|
+test_install_all:
|
|
|
+ dh_testdir
|
|
|
+ dh_testroot
|
|
|
+ dh_prep
|
|
|
+ dh_installdirs
|
|
|
+ $(MAKE) install quiet=verbose LIBDIR=$(LIBDIR) group_include="kstandard"
|
|
|
+
|
|
|
+$(INSTALL_MODULES): test_install_all
|
|
|
+ $(MAKE) install-modules-all \
|
|
|
+ quiet=verbose \
|
|
|
+ LIBDIR=$(LIBDIR) \
|
|
|
+ BASEDIR=$(D)-$(subst install_,,$@)-modules \
|
|
|
+ cfg_prefix=$(D)-$(subst install_,,$@)-modules \
|
|
|
+ doc-dir=share/doc/$(DEB_SOURCE)-$(subst install_,,$@)-modules \
|
|
|
+ group_include="k$(subst install_,,$@)"
|
|
|
+ # Eliminate duplicate libs.
|
|
|
+ for d in $(DUP_LIBS_DIRS); do \
|
|
|
+ test "$$d" != "$(D)-$${module}-modules/usr/$(LIBDIR)/kamailio" && \
|
|
|
+ for r in `find $$d -name 'lib*' | xargs`; do \
|
|
|
+ echo "removing $(GRP) lib `basename $$r` present also in $$d"; \
|
|
|
+ rm -f $(D)-$(subst install_,,$@)-modules/usr/$(LIBDIR)/kamailio/`basename "$$r"`; \
|
|
|
+ done ; \
|
|
|
done
|
|
|
+ # clean empty dirs
|
|
|
+ find $(D)-$(GRP)-modules -depth -empty -type d -exec rmdir {} \;
|
|
|
+
|
|
|
+$(INSTALL_EXTRA):
|
|
|
+ $(MAKE) install-modules-all LIBDIR=$(LIBDIR) group_include="k$(subst install_,,$@)" \
|
|
|
+ BASEDIR=$(D)-extra-modules \
|
|
|
+ cfg_prefix=$(D)-extra-modules \
|
|
|
+ doc-dir=share/doc/$(DEB_SOURCE)-extra-modules
|
|
|
+ # Eliminate duplicate extra libs.
|
|
|
+ for d in $(DUP_LIBS_DIRS); do \
|
|
|
+ test "$$d" != "$(D)-extra-modules/usr/$(LIBDIR)/kamailio" && \
|
|
|
+ for r in `find $$d -name 'lib*' | xargs`; do \
|
|
|
+ echo "removing extra lib `basename $$r` present also in $$d"; \
|
|
|
+ rm -f $(D)-extra-modules/usr/$(LIBDIR)/kamailio/`basename "$$r"`; \
|
|
|
+ done ; \
|
|
|
+ done
|
|
|
+ # clean empty dirs
|
|
|
find $(D)-extra-modules -depth -empty -type d -exec rmdir {} \;
|
|
|
-endef
|
|
|
+
|
|
|
|
|
|
configure: configure-stamp
|
|
|
configure-stamp:
|
|
@@ -181,13 +182,7 @@ configure-stamp:
|
|
|
build: build-stamp
|
|
|
build-arch: build-stamp
|
|
|
build-indep: build-stamp
|
|
|
-build-stamp: configure-stamp
|
|
|
- dh_testdir
|
|
|
- # Add here commands to compile the package.
|
|
|
- $(MAKE) all quiet=verbose
|
|
|
- # make groups
|
|
|
- $(call PACKAGE_GRP_BUILD_template)
|
|
|
- $(call PACKAGE_EXTRA_BUILD_template)
|
|
|
+build-stamp: configure-stamp $(BUILD_MODULES)
|
|
|
touch build-stamp
|
|
|
|
|
|
clean:
|
|
@@ -198,16 +193,7 @@ clean:
|
|
|
$(MAKE) maintainer-clean
|
|
|
dh_clean
|
|
|
|
|
|
-install: build
|
|
|
- dh_testdir
|
|
|
- dh_testroot
|
|
|
- dh_prep
|
|
|
- dh_installdirs
|
|
|
- # Add here commands to install the package into debian/kamailio
|
|
|
- $(MAKE) install group_include="kstandard"
|
|
|
- # make group packages
|
|
|
- $(call PACKAGE_GRP_INSTALL_template)
|
|
|
- $(call PACKAGE_EXTRA_INSTALL_template)
|
|
|
+install: build $(INSTALL_MODULES) $(INSTALL_EXTRA)
|
|
|
mv $(D)-berkeley-modules/usr/sbin/kambdb_recover \
|
|
|
$(D)-berkeley-bin/usr/sbin/kambdb_recover
|
|
|
# install /etc/default/kamailio file
|