X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=debian%2Frules;h=73f21873264793b418397b513ade2cde13942b3d;hb=516c9f591ad74f22f988fe4d6c7c7733c9b173b6;hp=63585194c718e9f17393605e7c7a6f07505dde07;hpb=f0c2dc1345da2fa0f2ab37ae1339fe1455c88761;p=debian%2Fgzip diff --git a/debian/rules b/debian/rules index 6358519..73f2187 100755 --- a/debian/rules +++ b/debian/rules @@ -1,81 +1,130 @@ #!/usr/bin/make -f # Debian rules file for gzip, requires the debhelper package. # Crafted by Bdale Garbee, bdale@gag.com, 5 November 2000 +# Cleanup by Thorsten Glaser, tg@debian.org, 20 June 2012 +# based on the rules file of the jupp package # Comment this to turn off debhelper verbose mode. export DH_VERBOSE=1 -DEB_BUILD_GNU_TYPE = $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -DEB_HOST_GNU_TYPE = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) -CONFARGS = --host=$(DEB_HOST_GNU_TYPE) +shellescape='$(subst ','\'',$(1))' +shellexport=$(1)=$(call shellescape,${$(1)}) + +include /usr/share/dpkg/architecture.mk + +# Automatic ${CC} selection for cross-compiles + +# is ${CC} defined anywhere (other than implicit rules?) +ifneq (,$(findstring $(origin CC),default undefined)) +# no - then default to gcc (or cross-gcc) +ifneq (${DEB_BUILD_ARCH},${DEB_HOST_ARCH}) +CC= ${DEB_HOST_GNU_TYPE}-gcc +else +CC= gcc +endif +endif + +export DEFS=NO_ASM # Avoid TEXTRELs on i386 +EXTRA_CFLAGS= -Wall +EXTRA_CPPFLAGS= + +ifeq (${DEB_HOST_ARCH},amd64) +EXTRA_CPPFLAGS+= -DUNALIGNED_OK endif -buildarch := $(shell dpkg-architecture -qDEB_BUILD_ARCH) -ifeq ($(buildarch),amd64) -CFLAGS=-g -O2 -Wall -DUNALIGNED_OK +# Automatic dpkg-buildflags selection, backport-friendly + +ifneq (,$(wildcard /usr/share/dpkg/buildflags.mk)) +# dpkg-dev (>= 1.16.1~) +DEB_CFLAGS_MAINT_APPEND=${EXTRA_CFLAGS} +DEB_CPPFLAGS_MAINT_APPEND=${EXTRA_CPPFLAGS} +# maybe turn this on later +#DEB_BUILD_MAINT_OPTIONS=hardening=+all +include /usr/share/dpkg/buildflags.mk else -CFLAGS=-g -O2 -Wall +# old-fashioned way to determine build flags +CFLAGS= -O$(if $(findstring noopt,${DEB_BUILD_OPTIONS}),0,2) -g +CFLAGS+= ${EXTRA_CFLAGS} +LDFLAGS+= ${EXTRA_LDFLAGS} endif -configure: configure-stamp -configure-stamp: - dh_testdir +# maybe turn this on later +#ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +#NUMJOBS= $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +#MAKEFLAGS+= -j${NUMJOBS} +#endif + +# whitespace-safe path to source directory +_topdir=$(call shellescape,$(shell pwd)) + +CONFIGURE_ARGS= --prefix=/usr \ + --bindir=/bin \ + --infodir=${_topdir}/debian/gzip/usr/share/info \ + --mandir=${_topdir}/debian/gzip/usr/share/man + +ifneq (${DEB_BUILD_ARCH},${DEB_HOST_ARCH}) +CONFIGURE_ARGS+= --host=${DEB_HOST_GNU_TYPE} +endif + +reconf-stamp: cp -f /usr/share/misc/config.sub build-aux/config.sub cp -f /usr/share/misc/config.guess build-aux/config.guess autoreconf -v - mkdir -p build - cd build && ../configure \ - --prefix=/usr --bindir=/bin \ - --infodir=`pwd`/debian/gzip/usr/share/info \ - --mandir=`pwd`/debian/gzip/usr/share/man $(CONFARGS) - touch configure-stamp - -configure-win32: configure-win32-stamp -configure-win32-stamp: + :>$@ + +configure: configure-stamp +configure-stamp: reconf-stamp + dh_testdir + mkdir -p builddir + cd builddir && env \ + $(foreach i,CC CFLAGS CPPFLAGS LDFLAGS,$(call shellexport,$i)) \ + CONFIG_SHELL=/bin/sh GREP=grep ../configure ${CONFIGURE_ARGS} + :>$@ + +configure-indep: configure-indep-stamp +configure-indep-stamp: reconf-stamp dh_testdir - mkdir -p build-win32 - cd build-win32 && ../configure --host=i586-mingw32msvc - touch configure-win32-stamp + mkdir -p builddir-indep + cd builddir-indep && ../configure --host=i686-w64-mingw32 + :>$@ + +build: build-stamp build-indep-stamp -build: build-stamp +build-arch: build-stamp build-stamp: configure-stamp dh_testdir - $(MAKE) -C build - touch build-stamp + ${MAKE} -C builddir +ifeq (,$(filter nocheck,${DEB_BUILD_OPTIONS})) +ifeq (${DEB_BUILD_ARCH},${DEB_HOST_ARCH}) + ${MAKE} -C builddir check +endif +endif + :>$@ -build-win32: build-win32-stamp -build-win32-stamp: configure-win32-stamp +build-indep: build-indep-stamp +build-indep-stamp: configure-indep-stamp dh_testdir - $(MAKE) -C build-win32 - touch build-win32-stamp + ${MAKE} -C builddir-indep + :>$@ clean: dh_testdir dh_testroot - -rm -f build-stamp build-win32-stamp configure-stamp configure-win32-stamp - -rm -rf build build-win32 + -rm -f build-stamp build-indep-stamp configure-stamp configure-indep-stamp reconf-stamp + -rm -rf builddir builddir-indep dh_clean -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - $(MAKE) -C build install prefix=`pwd`/debian/gzip/usr bindir=`pwd`/debian/gzip/bin +binary: binary-arch binary-indep -install-win32: build-win32 +binary-indep: build-indep-stamp dh_testdir dh_testroot - dh_clean -k + dh_prep dh_installdirs - i586-mingw32msvc-strip build-win32/gzip.exe - install -m 0755 build-win32/gzip.exe debian/gzip-win32/usr/share/win32/ - -binary-indep: build-win32 install-win32 - dh_testdir -i - dh_testroot -i - dh_installdocs -i README* TODO + i686-w64-mingw32-strip builddir-indep/gzip.exe + install -m 0755 builddir-indep/gzip.exe \ + debian/gzip-win32/usr/share/win32/ + dh_installdocs -i README* TODO NEWS dh_installchangelogs -i ChangeLog dh_lintian -i dh_compress -i @@ -85,30 +134,35 @@ binary-indep: build-win32 install-win32 dh_md5sums -i dh_builddeb -i -binary-arch: build install - dh_testdir -s - dh_testroot -s - dh_installdocs -s README* TODO +binary-arch: build-stamp + dh_testdir + dh_testroot + dh_prep + dh_installdirs + ${MAKE} -C builddir install \ + prefix=${_topdir}/debian/gzip/usr \ + bindir=${_topdir}/debian/gzip/bin + dh_testdir -a + dh_testroot -a + dh_installdocs -a README* TODO NEWS dh_installman *.1 - dh_installinfo -s doc/gzip.info - dh_installchangelogs -s ChangeLog - dh_link -s - dh_lintian -s - dh_strip -s - dh_compress -s + dh_installinfo -a doc/gzip.info + dh_installchangelogs -a ChangeLog + dh_link -a + dh_lintian -a + dh_strip -a + dh_compress -a ln -s gunzip.1.gz debian/gzip/usr/share/man/man1/uncompress.1.gz ln -s zgrep.1.gz debian/gzip/usr/share/man/man1/zegrep.1.gz ln -s zgrep.1.gz debian/gzip/usr/share/man/man1/zfgrep.1.gz - dh_fixperms -s - # You may want to make some executables suid here. - dh_makeshlibs -s - dh_installdeb -s - dh_shlibdeps -s - dh_gencontrol -s - dh_md5sums -s - dh_builddeb -s - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure -.PHONY: build-win32 install-win32 configure-win32 + rm -f ${_topdir}/debian/gzip/usr/share/info/dir.gz + dh_fixperms -a + dh_makeshlibs -a + dh_installdeb -a + dh_shlibdeps -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a +.PHONY: binary binary-arch binary-indep build build-arch build-indep clean +.PHONY: configure configure-indep