X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=debian%2Frules;h=489920724bb9435ae55737c3c88dd5c8d2d24c5d;hb=HEAD;hp=e6f15b4645912d80bd6ac1bcb9167149f90abc08;hpb=739eecfbeffc911e700660864ff1d7f05c6283d0;p=senf.git diff --git a/debian/rules b/debian/rules index e6f15b4..4899207 100755 --- a/debian/rules +++ b/debian/rules @@ -1,10 +1,14 @@ #!/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 @@ -12,106 +16,135 @@ debian_build=1 export debian_build -CFLAGS = -Wall -g +# This has to be exported to make some magic below work. +export DH_OPTIONS CONCURRENCY_LEVEL ?= 1 - -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif - -# shared library versions, option 1 -#version=2.0.5 -#major=2 -# option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so -#version=`ls src/.libs/lib*.so.* | \ -# awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'` -#major=`ls src/.libs/lib*.so.* | \ -# awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'` +export CONCURRENCY_LEVEL destdir=$(CURDIR)/debian/tmp configure: configure-stamp configure-stamp: dh_testdir -# # Add here commands to configure the package. - rm -f Doxyfile.local SConfig local_config.hh +# Add here commands to configure the package. +# rm -f Doxyfile.local SConstruct.local senf/local_config.hh + scons prepare # If needed, we could create new files 'Doxyfile.local', -# 'SConfig' and/or 'local_config.hh' here. We don't remove them -# in 'clean' to allow building a source package from an -# individually configured svn working copy. +# 'SConstruct.local' and/or 'local_config.hh' here. We don't +# remove them in 'clean' to allow building a source package from +# an individually configured svn working copy. (The files are +# ignored by dpkg-buildpackge because of appropriate -I +# arguments provided by 'scons deb' and 'scons debsrc' touch configure-stamp -build: build-stamp -build-stamp: configure-stamp - dh_testdir -# # Add here commands to compile the package. - scons -j $(CONCURRENCY_LEVEL) final=1 - scons -j $(CONCURRENCY_LEVEL) all_docs final=1 +build: build-arch build-indep + +build-arch: build-arch-debug build-arch-final + +build-arch-final: build-arch-final-stamp +build-arch-final-stamp: configure-stamp +# Add here commands to compile the arch part of the package. + scons -j $(CONCURRENCY_LEVEL) $(destdir)/usr/lib $(destdir)/usr/bin \ + final=1 syslayout=1 \ + PREFIX='$(destdir)/usr' OBJINSTALLDIR='$$PREFIX/lib/senf/final' touch $@ -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp -# # Add here commands to clean up after the build process. - -scons -c all - dh_clean +build-arch-debug: build-arch-debug-stamp +build-arch-debug-stamp: configure-stamp +# Add here commands to compile the arch part of the package. + scons -j $(CONCURRENCY_LEVEL) $(destdir)/usr/lib \ + LIBADDSUFFIX=_g OBJADDSUFFIX=_g syslayout=1 \ + PREFIX='$(destdir)/usr' OBJINSTALLDIR='$$PREFIX/lib/senf/debug' + touch $@ -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs -# # Add here commands to install the package into debian/tmp - scons install_all final=1\ - PREFIX='$(destdir)/usr' \ - DOCINSTALLDIR='$$PREFIX/share/doc/libsenf-doc' \ - INCLUDEINSTALLDIR='$$PREFIX/include/senf' +build-indep: build-indep-stamp +build-indep-stamp: configure-stamp +# Add here commands to compile the indep part of the package. +# scons -j $(CONCURRENCY_LEVEL) all_docs +# scons linklint +# scons fixlinks +# scons $(destdir)/usr/include $(destdir)/usr/share/doc \ +# syslayout=1 PREFIX='$(destdir)/usr' \ +# DOCINSTALLDIR='$$PREFIX/share/doc/libsenf-doc/html' + scons $(destdir)/usr/include syslayout=1 PREFIX='$(destdir)/usr' # We need to install the example sourcecode - find Examples \( -name "*.hh" -o -name "*.cc" \) -printf "%P\n" | \ + find Examples \( -name "*.hh" -o -name "*.cc" -o -name SConstruct \) -printf "%P\n" | \ while read src; do \ dir="$(destdir)/usr/share/doc/libsenf-doc/examples/$$(dirname "$$src")"; \ mkdir -p "$$dir"; \ cp "Examples/$$src" "$$dir"; \ done + touch $@ -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. +clean: debclean +# Add here commands to clean up after the build process. + -scons -c all + -scons -c all LIBADDSUFFIX=_g OBJADDSUFFIX=_g -# Build architecture-dependent files here. -binary-arch: build install +debclean: dh_testdir dh_testroot - dh_installchangelogs + rm -f build-arch-*-stamp build-indep-stamp configure-stamp + dh_clean + +install: install-arch install-indep +install-indep: build-indep + dh_testdir + dh_testroot + dh_clean -k -i -Xdebian/tmp + dh_installdirs -i +# Add here commands to install the indep part of the package into +# debian/-doc. + dh_install -X.svn -X.git -i + +install-arch: build-arch + dh_testdir + dh_testroot + dh_clean -k -s -Xdebian/tmp + dh_installdirs -s +# Add here commands to install the arch part of the package into +# debian/tmp. + dh_install -X.svn -X.git -s + +# Must not depend on anything. This is to be called by +# binary-arch/binary-indep +# in another 'make' thread. +binary-common: + dh_testdir + dh_testroot + dh_installchangelogs dh_installdocs dh_installexamples - dh_install # dh_installmenu # dh_installdebconf -# dh_installlogrotate +# dh_installlogrotate # dh_installemacsen # dh_installpam # dh_installmime +# dh_python # dh_installinit # dh_installcron # dh_installinfo dh_installman dh_link dh_strip - dh_compress + dh_compress -Xhtml -Xdoclib -Xexamples dh_fixperms # dh_perl -# dh_python -# dh_makeshlibs + dh_makeshlibs dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure +binary-indep: build-indep install-indep + $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common + +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 \ + binary-arch-common binary-arch-final binary-arch-debug