summaryrefslogtreecommitdiff
path: root/examples/rules.multi2
diff options
context:
space:
mode:
authorjoey <joey>1999-09-03 21:12:04 +0000
committerjoey <joey>1999-09-03 21:12:04 +0000
commitda7d6c32c080678dc672f7c6e680c11569f46eda (patch)
tree437e68fc95e8b49b4339f30ae9ca111a005e72b3 /examples/rules.multi2
parent60037371809ab782c2d675ea1bfc849c2772fce2 (diff)
r265: * It turns out it's possible to set up make variables that are specific to
a single target of a Makefile. This works tremendously well with DH_OPTIONS: no need to put "-i" or "-pfoo" after every debhelper command anymore. * debhelper.1: mentioned above technique. * examples/rules.multi: use the above method to get rid of -i's and -a's. * examples/rules.multi2: new file, example of a multi-binary package that works for arch-indep and arch-dependant packages, and also allows building of single binary packages independntly, via binary-<package> targets. It accomplishes all this using only one list of debhelper commands. * examples/*: removed source and diff targets. They've been obsolete for 2 years -- or is it 3? No need for a nice error message on failure anymore.
Diffstat (limited to 'examples/rules.multi2')
-rwxr-xr-xexamples/rules.multi296
1 files changed, 96 insertions, 0 deletions
diff --git a/examples/rules.multi2 b/examples/rules.multi2
new file mode 100755
index 0000000..30c9b41
--- /dev/null
+++ b/examples/rules.multi2
@@ -0,0 +1,96 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+#
+# This version is for a multibinary package. It also allows you to build any
+# of the binary packages independantly, via binary-<package> targets.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This is the debhelper compatability version to use.
+export DH_COMPAT=1
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+build: build-stamp
+build-stamp:
+ dh_testdir
+
+ # Add here commands to compile the package.
+ #$(MAKE)
+
+ touch build-stamp
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp install-stamp
+
+ # Add here commands to clean up after the build process.
+ #-$(MAKE) clean
+ #-$(MAKE) distclean
+
+ dh_clean
+
+install: DH_OPTIONS=
+install:
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ dh_installdirs
+
+ # Add here commands to install the package into debian/tmp.
+ #$(MAKE) prefix=`pwd`/debian/tmp/usr install
+
+ dh_movefiles
+ touch install-stamp
+
+# 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-common:
+ # Need this version of debhelper for DH_OPTIONS to work.
+ dh_testversion 1.1.17
+ dh_testdir
+ dh_testroot
+ dh_installdocs
+ dh_installexamples
+ dh_installmenu
+# dh_installemacsen
+# dh_installpam
+# dh_installinit
+ dh_installcron
+# dh_installmanpages
+ dh_installinfo
+# dh_undocumented
+ dh_installchangelogs
+ dh_link
+ dh_compress
+ dh_fixperms
+ dh_suidregister
+# dh_makeshlibs
+ dh_installdeb
+# dh_perl
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+# Build architecture independant packages using the common target.
+# (Comment this out if you have none to build.)
+binary-indep: DH_OPTIONS=-i
+binary-arch: build install binary-common
+
+# Build architecture dependant packages using the common target.
+binary-arch: DH_OPTIONS=-a
+binary-arch: build install binary-common
+
+# Any other binary targets build just one binary package at a time.
+binary-%: build install
+ make -f debian/rules binary-common DH_OPTIONS=-p$*
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install