summaryrefslogtreecommitdiff
path: root/examples
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
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')
-rwxr-xr-xexamples/rules61
-rwxr-xr-xexamples/rules.indep51
-rwxr-xr-xexamples/rules.multi128
-rwxr-xr-xexamples/rules.multi296
4 files changed, 273 insertions, 63 deletions
diff --git a/examples/rules b/examples/rules
index e6ebf0b..926c38c 100755
--- a/examples/rules
+++ b/examples/rules
@@ -1,41 +1,78 @@
#!/usr/bin/make -f
-# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This is the debhelper compatability version to use.
+export DH_COMPAT=1
build: build-stamp
build-stamp:
dh_testdir
- # Add here commands to compile the pacckage.
+
+ # Add here commands to compile the package.
#$(MAKE)
+
touch build-stamp
clean:
dh_testdir
dh_testroot
- dh_cleantmp
+ rm -f build-stamp install-stamp
+
# Add here commands to clean up after the build process.
+ #-$(MAKE) clean
#-$(MAKE) distclean
- rm -f build-stamp
+
+ dh_clean
+
+install: install-stamp
+install-stamp: build-stamp
+ 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
+
+ touch install-stamp
# Build architecture-independent files here.
-binary-indep: build
- # We have nothing to do by default.
+binary-indep: build install
+# We have nothing to do by default.
# Build architecture-dependent files here.
-binary-arch: build
+binary-arch: build install
+# dh_testversion
dh_testdir
dh_testroot
- dh_cleantmp
- # Add here commands to install the files into debian/tmp
- #$(MAKE) PREFIX=debian/tmp install
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_strip
dh_compress
- dh_installdebfiles
dh_fixperms
+ # You may want to make some executables suid here.
+ dh_suidregister
+# dh_makeshlibs
+ dh_installdeb
+# dh_perl
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary
+.PHONY: build clean binary-indep binary-arch binary install
diff --git a/examples/rules.indep b/examples/rules.indep
index a257a19..55802f3 100755
--- a/examples/rules.indep
+++ b/examples/rules.indep
@@ -1,56 +1,77 @@
#!/usr/bin/make -f
-# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
-# This version is for packages that are architecure independant.
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+#
+# This version is for packages that are architecture independent.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
+# This is the debhelper compatability version to use.
+export DH_COMPAT=1
+
build: build-stamp
build-stamp:
dh_testdir
- # Add here commands to compile the pacckage.
+
+ # Add here commands to compile the package.
#$(MAKE)
+
touch build-stamp
clean:
dh_testdir
dh_testroot
- rm -f build-stamp
+ rm -f build-stamp install-stamp
+
# Add here commands to clean up after the build process.
+ #-$(MAKE) clean
#-$(MAKE) distclean
+
dh_clean
-# Build architecture-independent files here.
-binary-indep: build
+install: install-stamp
+install-stamp: build-stamp
dh_testdir
dh_testroot
- dh_clean
+ dh_clean -k
dh_installdirs
- # Add here commands to install the files into debian/tmp
- #$(MAKE) PREFIX=debian/tmp install
+
+ # Add here commands to install the package into debian/tmp.
+ #$(MAKE) prefix=`pwd`/debian/tmp/usr install
+
+ touch install-stamp
+
+# Build architecture-independent files here.
+binary-indep: build install
+# dh_testversion
+ 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
+ # You may want to make some executables suid here.
dh_suidregister
dh_installdeb
+# dh_perl
dh_gencontrol
- dh_du
dh_md5sums
dh_builddeb
# Build architecture-dependent files here.
-binary-arch: build
+binary-arch: build install
# We have nothing to do by default.
-source diff:
- @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
-
binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary
+.PHONY: build clean binary-indep binary-arch binary install
diff --git a/examples/rules.multi b/examples/rules.multi
index 118737c..6c6c406 100755
--- a/examples/rules.multi
+++ b/examples/rules.multi
@@ -1,60 +1,116 @@
#!/usr/bin/make -f
-# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
+# 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-independant
+# architecture-dependant package, as well as an architecture-independent
# package.
# 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 pacckage.
+
+ # Add here commands to compile the package.
#$(MAKE)
+
touch build-stamp
clean:
dh_testdir
dh_testroot
- rm -f build-stamp
- dh_clean
+ rm -f build-stamp install-stamp
+
# Add here commands to clean up after the build process.
+ #-$(MAKE) clean
#-$(MAKE) distclean
+ dh_clean
+
+install: install-stamp
+install-stamp: DH_OPTIONS=
+install-stamp: build-stamp
+ 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
+
# Build architecture-independent files here.
-binary-indep: build
- dh_testdir -i
- dh_testroot -i
- dh_clean -i
- # Add here commands to install the files into debian/tmp
- #$(MAKE) PREFIX=debian/tmp install
- dh_installdocs -i
- dh_installexamples -i
- dh_installmenu -i
-# dh_installmanpages -i
- dh_installchangelogs -i
- dh_compress -i
- dh_installdebfiles -i
- dh_fixperms -i
- dh_builddeb -i
+# Pass -i to all debhelper commands in this target to reduce clutter.
+binary-indep: DH_OPTIONS="-i"
+binary-indep: build install
+ # 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
+ # You may want to make some executables suid here.
+ dh_suidregister
+ dh_installdeb
+# dh_perl
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
# Build architecture-dependent files here.
-binary-arch: build
- dh_testdir -a
- dh_testroot -a
- dh_clean -a
- # Add here commands to install the files into debian/tmp
- #$(MAKE) PREFIX=debian/tmp install
- dh_installdocs -a
- dh_installexamples -a
- dh_installmenu -a
- dh_installmanpages -a
- dh_installchangelogs -a
- dh_compress -a
- dh_installdebfiles -a
- dh_fixperms -a
- dh_builddeb -a
+# Pass -a to all debhelper commands in this target to reduce clutter.
+binary-indep: DH_OPTIONS="-a"
+binary-arch: build install
+ # 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_strip
+ dh_link
+ dh_compress
+ dh_fixperms
+ # You may want to make some executables suid here.
+ dh_suidregister
+ dh_installdeb
+# dh_makeshlibs
+# dh_perl
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary
+.PHONY: build clean binary-indep binary-arch binary install
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