#!/usr/bin/make -f # Sample debian/rules that uses debhelper. # GNU copyright 1997 by Joey Hess. # # This version is for a hypothetical package that builds an # architecture-dependant package, as well as an architecture-independent # package. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 VARIETALS=krb5 #VARIETALS=krb krb45 krb5 PACKAGES:=-plibzephyr4 -pzephyr-clients -pzephyr-server -plibzephyr-dev -plibzephyr-python $(foreach i,$(VARIETALS),-plibzephyr4-$(i) -pzephyr-server-$(i)) # This has to be exported to make some magic below work. export DH_OPTIONS CONFIGURE_ROOT=--prefix=/usr --mandir=\$${prefix}/share/man \ --infodir=\$${prefix}/share/info --sysconfdir=/etc --datadir=/etc \ --with-cares=/usr --with-hesiod=/usr --with-seccomp=/usr \ --enable-cmu-zwgcplus CONFIGURE_krb5=--with-krb5=/usr CONFIGURE_krb45=--with-krb4=/usr --with-krb5=/usr CONFIGURE_krb=--with-krb4=/usr CONFIGURE_no-krb= CFLAGS=-g -O CHECK= # see /usr/share/doc/autotools-dev/README.Debian.gz export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) # FOR AUTOCONF 2.52 AND NEWER ONLY ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) CONFIGURE_ROOT += --build $(DEB_HOST_GNU_TYPE) else CONFIGURE_ROOT += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) endif BUILD_VARIETALS=$(VARIETALS) no-krb configure: configure-stamp configure-stamp: dh_testdir # Add here commands to configure the package. libtoolize aclocal automake -a || true # we only want this for install-sh autoreconf mkdir -p $(BUILD_VARIETALS) $(foreach VARIETY,$(BUILD_VARIETALS),(cd $(VARIETY) && CFLAGS="$(CFLAGS)" ../configure $(CONFIGURE_$(VARIETY)) $(CONFIGURE_ROOT));) touch configure-stamp build-arch: build-stamp build-indep: build-stamp build: build-stamp build-stamp: configure-stamp dh_testdir # Add here commands to compile the package. set -e; \ for dir in $(VARIETALS) ; do \ $(MAKE) -C $$dir h/zephyr_version.h; $(MAKE) -C $$dir/lib all $(CHECK); $(MAKE) -C $$dir/server; \ done $(MAKE) -C no-krb all $(CHECK) touch build-stamp clean: dh_testdir dh_testroot -rm -f build-stamp configure-stamp # Add here commands to clean up after the build process. -rm -rf autom4te.cache m4 -rm aclocal.m4 config.guess config.sub configure h/config.h.in \ install-sh ltmain.sh -rm -rf $(VARIETALS) no-krb debian/tmp-krb* -rm debian/zephyr-server-krb.files -rm debian/zephyr-server-krb.templates -rm debian/zephyr-server-krb.config -rm debian/zephyr-server-krb.postinst -rm debian/zephyr-server-krb5.README.Debian \ debian/zephyr-server-krb5.docs debian/zephyr-server-krb5.files \ debian/zephyr-server-krb5.postinst debian/zephyr-server-krb5.postrm \ debian/zephyr-server-krb5.templates -rm debian/zephyr-server-krb45.* -rm debian/libzephyr4-krb.files debian/libzephyr4-krb5.files \ debian/libzephyr4-krb45.files dh_clean -XTAGS install: DH_OPTIONS= install: build dh_testdir dh_testroot dh_prep -XTAGS -rm -rf debian/tmp-krb* dh_installdirs # Add here commands to install the package into debian/tmp. $(MAKE) -C no-krb DESTDIR=$(CURDIR)/debian/tmp install for dir in $(VARIETALS); do \ $(MAKE) -C $$dir SUBDIRS="lib server" DESTDIR=$(CURDIR)/debian/tmp-$$dir install; \ done mkdir -p debian/tmp/etc/zephyr/acl set -x; for i in debian/acl/*; do install -c -m 644 -o root $$i debian/tmp/etc/zephyr/acl; done; set +x install -c -m 644 debian/zephyr.vars debian/tmp/etc/zephyr install -c -m 644 debian/default.subscriptions debian/tmp/etc/zephyr for dir in $(VARIETALS); do \ cp -rp debian/tmp/etc/zephyr/acl debian/tmp-$$dir/etc/zephyr; \ done mkdir -p debian/tmp/usr/lib/python2.5/site-packages install -c -m 644 python/zephyr_ctypes.py debian/tmp/usr/lib/python2.5/site-packages # Build architecture-independent files here. # Pass -i to all debhelper commands in this target to reduce clutter. binary-indep: build install # Build architecture-dependent files here. # Pass -a to all debhelper commands in this target to reduce clutter. binary-arch: build install dh_testdir dh_testroot set -e; \ for file in files templates postinst docs; do \ for dir in $(VARIETALS); do \ cp debian/zephyr-server.$$file debian/zephyr-server-$$dir.$$file; \ done; \ done for file in config init; do \ for dir in $(filter-out krb5,$(VARIETALS)); do \ cp debian/zephyr-server.$$file debian/zephyr-server-$$dir.$$file; \ done; \ done for file in README.Debian docs postrm; do \ for dir in $(filter-out krb,$(VARIETALS)); do \ cp debian/zephyr-server-krb.$$file debian/zephyr-server-$$dir.$$file; \ done; \ done for dir in $(VARIETALS); do \ cp debian/libzephyr4.files debian/libzephyr4-$$dir.files; \ done dh_movefiles -plibzephyr4 -pzephyr-clients -pzephyr-server -plibzephyr-dev -plibzephyr-python for dir in $(VARIETALS); do \ dh_movefiles --sourcedir=debian/tmp-$$dir -plibzephyr4-$$dir -pzephyr-server-$$dir; \ done dh_installdebconf dh_installdocs dh_installinit -pzephyr-clients --init-script=zhm --no-start dh_installinit -pzephyr-server --init-script=zephyrd for dir in $(VARIETALS); do \ dh_installinit -pzephyr-server-$$dir --init-script=zephyrd; \ done dh_installchangelogs dh_pycentral -plibzephyr-python dh_python -plibzephyr-python dh_strip dh_compress dh_fixperms dh_makeshlibs # sigh for dir in $(VARIETALS); do \ cp debian/libzephyr4/DEBIAN/shlibs debian/libzephyr4-$$dir/DEBIAN/shlibs; \ done dh_shlibdeps $(PACKAGES) dh_installdeb $(PACKAGES) dh_gencontrol $(PACKAGES) dh_md5sums $(PACKAGES) dh_builddeb $(PACKAGES) for dir in $(VARIETALS); do \ dh_builddeb --sourcedir=debian/tmp-$$dir -plibzephyr4-$$dir -pzephyr-server-$$dir; \ done binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install