#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
#
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
#
# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets by Bill Allombert 2001
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
.NOTPARALLEL:
SHELL =/bin/bash
package = freeradius
freeradius_dir = $(CURDIR)/debian/tmp/
mandir = /usr/share/man
libdir = /usr/lib/$(package)
logdir = /var/log/$(package)
pkgdocdir = /usr/share/doc/$(package)
raddbdir = /etc/$(package)
modulelist=krb5 ldap sql_mysql sql_iodbc sql_postgresql
pkgs=$(shell dh_listpackages)
# This has to be exported to make some magic below work.
export DH_OPTIONS
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
confflags += --build $(DEB_HOST_GNU_TYPE)
else
confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif
include /usr/share/quilt/quilt.make
config.status: configure
dh_testdir
ifeq (config.sub.dist,$(wildcard config.sub.dist))
rm config.sub
else
mv config.sub config.sub.dist
endif
ifeq (config.guess.dist,$(wildcard config.guess.dist))
rm config.guess
else
mv config.guess config.guess.dist
endif
ln -s /usr/share/misc/config.sub config.sub
ln -s /usr/share/misc/config.guess config.guess
./configure $(confflags) \
--prefix=/usr \
--exec-prefix=/usr \
--mandir=$(mandir) \
--sysconfdir=/etc \
--libdir=$(libdir) \
--datadir=/usr/share \
--localstatedir=/var \
--with-raddbdir=$(raddbdir) \
--with-logdir=/var/log/$(package) \
--enable-ltdl-install=no --enable-strict-dependencies \
--with-large-files --with-udpfromto --with-edir \
--enable-developer \
--config-cache \
--without-rlm_eap_tnc \
--with-rlm_sql_postgresql_lib_dir=`pg_config --libdir` \
--with-rlm_sql_postgresql_include_dir=`pg_config --includedir` \
--without-rlm_eap_ikev2 \
--without-rlm_sql_oracle \
--without-rlm_sql_unixodbc \
--with-system-libtool
#Architecture
build: patch build-arch build-indep
build-arch: build-arch-stamp
build-arch-stamp: config.status
$(MAKE)
touch $@
build-indep: build-indep-stamp
build-indep-stamp: config.status
touch $@
clean: unpatch
dh_testdir
dh_testroot
rm -f build-arch-stamp build-indep-stamp
rm -f config.cache config.log
rm -f src/freeradius-devel
[ ! -d src/modules/lib ] || rm -fr src/modules/lib || true
[ ! -d src/binary ] || rm -fr src/binary || true
# Add here commands to clean up after the build process.
ifeq (Make.inc,$(wildcard Make.inc))
$(MAKE) distclean
endif
ifeq (config.sub.dist,$(wildcard config.sub.dist))
rm -f config.sub
mv config.sub.dist config.sub
endif
ifeq (config.guess.dist,$(wildcard config.guess.dist))
rm -f config.guess
mv config.guess.dist config.guess
endif
dh_clean
install: install-indep install-arch
install-indep: build-indep-stamp
dh_testdir
dh_testroot
dh_installdirs -i
$(MAKE) -C dialup_admin DIALUP_PREFIX=/usr/share/freeradius-dialupadmin \
DIALUP_DOCDIR=/usr/share/doc/freeradius-dialupadmin \
DIALUP_CONFDIR=/etc/freeradius-dialupadmin \
R=$(freeradius_dir) install
mv $(freeradius_dir)/usr/share/freeradius-dialupadmin/bin/dialup_admin.cron \
$(freeradius_dir)/usr/share/freeradius-dialupadmin/bin/freeradius-dialupadmin.cron
mv $(freeradius_dir)/usr/share/doc/freeradius-dialupadmin/Changelog \
$(freeradius_dir)/usr/share/doc/freeradius-dialupadmin/changelog
install -m0644 debian/apache2.conf $(freeradius_dir)/etc/freeradius-dialupadmin/
dh_install -i --sourcedir=$(freeradius_dir)
dh_installdocs -p freeradius-dialupadmin dialup_admin/README
install-arch: build-arch-stamp
dh_testdir
dh_testroot
dh_installdirs -s
test -d $(freeradius_dir)/usr/lib/freeradius || mkdir -p $(freeradius_dir)/usr/lib/freeradius
ln -s rlm_sql.so $(freeradius_dir)/usr/lib/freeradius/librlm_sql.so
$(MAKE) install R=$(freeradius_dir)
# rename radius binary to play nicely with others
mv $(freeradius_dir)/usr/sbin/radiusd $(freeradius_dir)/usr/sbin/$(package)
mv $(freeradius_dir)/$(mandir)/man8/radiusd.8 $(freeradius_dir)/$(mandir)/man8/$(package).8
dh_install --sourcedir=$(freeradius_dir) -p libfreeradius2
dh_install --sourcedir=$(freeradius_dir) -p libfreeradius-dev
for mod in ${modulelist}; do \
pkg=$${mod##sql_} ; \
dh_install --sourcedir=$(freeradius_dir) -p freeradius-$$pkg ; \
rm -f $(freeradius_dir)/usr/lib/freeradius/rlm_$$mod*.so ; \
done
dh_install --sourcedir=$(freeradius_dir) -p freeradius-utils
dh_install --sourcedir=$(freeradius_dir) -p freeradius
dh_strip -a --dbg-package=freeradius-dbg
dh_makeshlibs -a -n
dh_shlibdeps
binary-common:
dh_testdir
dh_testroot
dh_installchangelogs doc/ChangeLog
dh_installdocs
dh_installexamples
chmod -x debian/freeradius/usr/share/doc/freeradius/examples/example.pl
dh_installlogrotate
dh_installpam --name=radiusd
dh_installinit --noscripts
dh_installman
dh_lintian
dh_link
dh_compress -Xexamples
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
# Build architecture independant packages using the common target.
binary-indep: build-indep install-indep
$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
# Build architecture dependant packages using the common target.
binary-arch: build-arch install-arch
$(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
binary: binary-arch binary-indep
.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch