3 # Sample debian/rules that uses debhelper.
5 # This file was originally written by Joey Hess and Craig Small.
6 # As a special exception, when this file is copied by dh-make into a
7 # dh-make output file, you may use that output file without restriction.
8 # This special exception was added by Craig Small in version 0.37 of dh-make.
10 # Modified to make a template file for a multi-binary package with separated
11 # build-arch and build-indep targets by Bill Allombert 2001
13 # Uncomment this to turn on verbose mode.
21 freeradius_dir = $(CURDIR)/debian/tmp/
23 mandir = /usr/share/man
24 libdir = /usr/lib/$(package)
25 logdir = /var/log/$(package)
26 pkgdocdir = /usr/share/doc/$(package)
27 raddbdir = /etc/$(package)
29 modulelist=krb5 ldap sql_mysql sql_iodbc sql_postgresql
30 pkgs=$(shell dh_listpackages)
32 # This has to be exported to make some magic below work.
35 # These are used for cross-compiling and for saving the configure script
36 # from having to guess our platform (since we know it already)
37 export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
38 export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
40 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
46 ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
47 confflags += --build $(DEB_HOST_GNU_TYPE)
49 confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
52 include /usr/share/quilt/quilt.make
54 config.status: configure
57 ifeq (config.sub.dist,$(wildcard config.sub.dist))
60 mv config.sub config.sub.dist
62 ifeq (config.guess.dist,$(wildcard config.guess.dist))
65 mv config.guess config.guess.dist
67 ln -s /usr/share/misc/config.sub config.sub
68 ln -s /usr/share/misc/config.guess config.guess
71 ./configure $(confflags) \
77 --datadir=/usr/share \
78 --localstatedir=/var \
79 --with-raddbdir=$(raddbdir) \
80 --with-logdir=/var/log/$(package) \
81 --enable-ltdl-install=no --enable-strict-dependencies \
82 --with-large-files --with-udpfromto --with-edir \
85 --without-rlm_eap_tnc \
86 --with-rlm_sql_postgresql_lib_dir=`pg_config --libdir` \
87 --with-rlm_sql_postgresql_include_dir=`pg_config --includedir` \
88 --without-rlm_eap_ikev2 \
89 --without-rlm_sql_oracle \
90 --without-rlm_sql_unixodbc \
91 --with-system-libtool \
95 build: patch build-arch build-indep
97 build-arch: build-arch-stamp
98 build-arch-stamp: config.status
102 build-indep: build-indep-stamp
103 build-indep-stamp: config.status
109 rm -f build-arch-stamp build-indep-stamp
110 rm -f config.cache config.log
111 rm -f src/freeradius-devel
113 [ ! -d src/modules/lib ] || rm -fr src/modules/lib || true
114 [ ! -d src/binary ] || rm -fr src/binary || true
116 # Add here commands to clean up after the build process.
117 ifeq (Make.inc,$(wildcard Make.inc))
120 ifeq (config.sub.dist,$(wildcard config.sub.dist))
122 mv config.sub.dist config.sub
124 ifeq (config.guess.dist,$(wildcard config.guess.dist))
126 mv config.guess.dist config.guess
130 install: install-indep install-arch
131 install-indep: build-indep-stamp
136 $(MAKE) -C dialup_admin DIALUP_PREFIX=/usr/share/freeradius-dialupadmin \
137 DIALUP_DOCDIR=/usr/share/doc/freeradius-dialupadmin \
138 DIALUP_CONFDIR=/etc/freeradius-dialupadmin \
139 R=$(freeradius_dir) install
141 mv $(freeradius_dir)/usr/share/freeradius-dialupadmin/bin/dialup_admin.cron \
142 $(freeradius_dir)/usr/share/freeradius-dialupadmin/bin/freeradius-dialupadmin.cron
143 mv $(freeradius_dir)/usr/share/doc/freeradius-dialupadmin/Changelog \
144 $(freeradius_dir)/usr/share/doc/freeradius-dialupadmin/changelog
146 install -m0644 debian/apache2.conf $(freeradius_dir)/etc/freeradius-dialupadmin/
148 dh_install -i --sourcedir=$(freeradius_dir)
149 dh_installdocs -p freeradius-dialupadmin dialup_admin/README
151 install-arch: build-arch-stamp
155 test -d $(freeradius_dir)/usr/lib/freeradius || mkdir -p $(freeradius_dir)/usr/lib/freeradius
156 ln -fs rlm_sql.so $(freeradius_dir)/usr/lib/freeradius/librlm_sql.so
157 $(MAKE) install R=$(freeradius_dir)
159 # rename radius binary to play nicely with others
160 mv $(freeradius_dir)/usr/sbin/radiusd $(freeradius_dir)/usr/sbin/$(package)
161 mv $(freeradius_dir)/$(mandir)/man8/radiusd.8 $(freeradius_dir)/$(mandir)/man8/$(package).8
163 dh_install --sourcedir=$(freeradius_dir) -p libfreeradius3
164 dh_install --sourcedir=$(freeradius_dir) -p libfreeradius-dev
166 for mod in ${modulelist}; do \
167 pkg=$${mod##sql_} ; \
168 dh_install --sourcedir=$(freeradius_dir) -p freeradius-$$pkg ; \
169 rm -f $(freeradius_dir)/usr/lib/freeradius/rlm_$$mod*.so ; \
172 dh_install --sourcedir=$(freeradius_dir) -p freeradius-utils
173 dh_install --sourcedir=$(freeradius_dir) -p freeradius
175 dh_strip -a --dbg-package=freeradius-dbg
183 dh_installchangelogs doc/ChangeLog
186 chmod -x debian/freeradius/usr/share/doc/freeradius/examples/example.pl
188 dh_installpam --name=radiusd
189 dh_installinit --noscripts
193 dh_compress -Xexamples
200 # Build architecture independant packages using the common target.
201 binary-indep: build-indep install-indep
202 $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
204 # Build architecture dependant packages using the common target.
205 binary-arch: build-arch install-arch
206 $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
208 binary: binary-arch binary-indep
209 .PHONY: build clean binary-indep binary-arch binary install install-indep install-arch