[sr-dev] Compilation ignoring directory settings

Juha Heinanen jh at tutpro.com
Thu Jun 11 08:44:01 CEST 2009


Edson - Lists writes:

 > As I suspected:
 > 
 > # ser -h
 > version: ser 2.1.0-dev23-make (i386/linux)
 > Usage: ser [options]
 > Options:
 >     -f file      Configuration file (default: /usr/local/etc/ser/ser.cfg)
 >     -L path      Modules search path (default: 
 > //lib/ser/modules://lib/ser/modules_s://lib/ser/modules_k)

edson,

i had taken the parameter from my debian rules file.  the whole rules
file is attached below.  it can be used to generate sip-router debian
package that includes the modules you want to use.

-- juha

#!/usr/bin/make -f

DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)

DEBVERSION:=$(shell head -n 1 debian/changelog \
                    | sed -e 's/^[^(]*(\([^)]*\)).*/\1/')
UPVERSION:=$(shell echo $(DEBVERSION) | sed -e 's/^.*://' -e 's/-[0-9.]*$$//' -e 's/.dfsg$$//')

MAIN_NAME=sip-router

FILENAME := $(MAIN_NAME)_$(UPVERSION).orig.tar.gz
UPFILENAME := $(MAIN_NAME)-$(UPVERSION)-tls_src.tar.gz

# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1

# Include dpatch rules
include /usr/share/dpatch/dpatch.make

# Do we want SCTP version ?
SCTP=1

# Enable K stats
KMSTATS=1

BASEDIR=$(CURDIR)/debian/$(MAIN_NAME)

# Modules (list here what you want to use)
MODULES = modules/auth_radius modules/db_mysql modules/dialplan \
	modules/enum modules/lcr modules/mediaproxy modules/misc_radius \
	modules/peering modules/tls modules/tm modules/utils

MODULES_K = modules_k/acc modules_k/auth modules_k/avpops modules_k/cfgutils \
	modules_k/domain modules_k/htable modules_k/kex \
	modules_k/maxfwd modules_k/mi_fifo \
	modules_k/mi_xmlrpc modules_k/msilo modules_k/nathelper \
	modules_k/permissions modules_k/pike modules_k/pv modules_k/registrar \
	modules_k/rr \
	modules_k/siputils modules_k/sl modules_k/textops modules_k/uac \
	modules_k/uac_redirect modules_k/usrloc modules_k/xlog

MODULES_S =

ALL_MODULES = $(MODULES) $(MODULES_K) $(MODULES_S)

ifeq (cc, $(CC))
	CC = gcc
endif

CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
        CFLAGS += -O0
else
	CFLAGS += -O2
endif

ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

configure: configure-stamp
configure-stamp:
	dh_testdir
	# Add here commands to configure the package.

	touch configure-stamp


build: build-stamp
build-stamp: patch-stamp configure-stamp 
	dh_testdir

	# Add here commands to compile the package.

	# Configure and compile sip-router
	$(MAKE) cfg CC=$(CC) CFLAGS="$(CFLAGS)" SCTP=$(SCTP) KMSTATS=$(KMSTATS) MAIN_NAME=$(MAIN_NAME) basedir=$(BASEDIR) prefix=/usr cfg_prefix=$(BASEDIR) cfg_target=/etc/sip-router modules="$(MODULES)" modules_s="" modules_k="$(MODULES_K)"
	$(MAKE) all

	# generate the db schemas (not available yet)
	#	$(MAKE) dbschema

	touch build-stamp

clean: real-clean unpatch
real-clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp

	# Add here commands to clean up after the build process.
	-$(MAKE) include_modules="$(ALL_MODULES)" proper
	rm -f cfg.tab.h
	rm -f utils/kamunix/kamunix.o utils/kamunix/kamunix.d utils/kamunix/kamunix

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the package into debian/$(MAIN_NAME)

	$(MAKE) install

	find $(BASEDIR)/etc/$(MAIN_NAME) -type f -exec chmod -x {} \;

# This single target is used to build all the packages, all at once, or
# one at a time. So keep in mind: any options passed to commands here will
# affect _all_ packages. Anything you want to only affect one package
# should be put in another target, such as the install target.

binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installdocs
	dh_installlogrotate
	dh_installinit -p$(MAIN_NAME) --name=$(MAIN_NAME) -- defaults 23
	dh_installcron
	dh_installman
	dh_installchangelogs
	dh_link
#	dh_strip --dbg-package=$(MAIN_NAME)-dbg
	dh_compress 
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

# Build architecture-independent packages using the common target
binary-indep: build install
# We have nothing to do by default.

binary: binary-indep binary-arch

print-version:
	@@echo "Debian version:          $(DEBVERSION)"
	@@echo "Upstream version:        $(UPVERSION)"

get-orig-source:
	@@dh_testdir
	@@[ -d ../tarballs/. ]||mkdir -p ../tarballs
	@@echo Downloading $(FILENAME) from $(URL) ...
	@@wget -N -nv -T10 -t3 -O ../tarballs/$(FILENAME) $(URL)

.PHONY: build clean binary-indep binary-arch binary install configure patch unpatch real-clean



More information about the sr-dev mailing list