2 # Debian rules file for gzip, requires the debhelper package.
3 # Crafted by Bdale Garbee, bdale@gag.com, 5 November 2000
4 # Cleanup by Thorsten Glaser, tg@debian.org, 20 June 2012
5 # based on the rules file of the jupp package
7 # Comment this to turn off debhelper verbose mode.
10 shellescape='$(subst ','\'',$(1))'
11 shellexport=$(1)=$(call shellescape,${$(1)})
13 DEB_BUILD_ARCH=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
14 DEB_HOST_ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH)
15 DEB_HOST_GNU_TYPE=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
17 # Automatic ${CC} selection for cross-compiles
19 # is ${CC} defined anywhere (other than implicit rules?)
20 ifneq (,$(findstring $(origin CC),default undefined))
21 # no - then default to gcc (or cross-gcc)
22 ifneq (${DEB_BUILD_ARCH},${DEB_HOST_ARCH})
23 CC= ${DEB_HOST_GNU_TYPE}-gcc
32 ifeq (${DEB_HOST_ARCH},amd64)
33 EXTRA_CPPFLAGS+= -DUNALIGNED_OK
36 # Automatic dpkg-buildflags selection, backport-friendly
38 ifneq (,$(wildcard /usr/share/dpkg/buildflags.mk))
39 # dpkg-dev (>= 1.16.1~)
40 DEB_CFLAGS_MAINT_APPEND=${EXTRA_CFLAGS}
41 DEB_CPPFLAGS_MAINT_APPEND=${EXTRA_CPPFLAGS}
42 # maybe turn this on later
43 #DEB_BUILD_MAINT_OPTIONS=hardening=+all
44 include /usr/share/dpkg/buildflags.mk
46 # old-fashioned way to determine build flags
47 CFLAGS= -O$(if $(findstring noopt,${DEB_BUILD_OPTIONS}),0,2) -g
48 CFLAGS+= ${EXTRA_CFLAGS}
49 LDFLAGS+= ${EXTRA_LDFLAGS}
52 # maybe turn this on later
53 #ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
54 #NUMJOBS= $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
55 #MAKEFLAGS+= -j${NUMJOBS}
58 # whitespace-safe path to source directory
59 _topdir=$(call shellescape,$(shell pwd))
61 CONFIGURE_ARGS= --prefix=/usr \
63 --infodir=${_topdir}/debian/gzip/usr/share/info \
64 --mandir=${_topdir}/debian/gzip/usr/share/man
66 ifneq (${DEB_BUILD_ARCH},${DEB_HOST_ARCH})
67 CONFIGURE_ARGS+= --host=${DEB_HOST_GNU_TYPE}
71 cp -f /usr/share/misc/config.sub build-aux/config.sub
72 cp -f /usr/share/misc/config.guess build-aux/config.guess
76 configure: configure-stamp
77 configure-stamp: reconf-stamp
81 $(foreach i,CC CFLAGS CPPFLAGS LDFLAGS,$(call shellexport,$i)) \
82 ../configure ${CONFIGURE_ARGS}
85 configure-indep: configure-indep-stamp
86 configure-indep-stamp: reconf-stamp
88 mkdir -p builddir-indep
89 cd builddir-indep && ../configure --host=i686-w64-mingw32
92 build: build-stamp build-indep-stamp
94 build-arch: build-stamp
95 build-stamp: configure-stamp
98 ifeq (,$(filter nocheck,${DEB_BUILD_OPTIONS}))
99 ifeq (${DEB_BUILD_ARCH},${DEB_HOST_ARCH})
100 ${MAKE} -C builddir check
105 build-indep: build-indep-stamp
106 build-indep-stamp: configure-indep-stamp
108 ${MAKE} -C builddir-indep
114 -rm -f build-stamp build-indep-stamp configure-stamp configure-indep-stamp reconf-stamp
115 -rm -rf builddir builddir-indep
118 binary: binary-arch binary-indep
120 binary-indep: build-indep-stamp
123 if test -x "$$(which dh_prep)"; then dh_prep; else dh_clean -k; fi
125 i686-w64-mingw32-strip builddir-indep/gzip.exe
126 install -m 0755 builddir-indep/gzip.exe \
127 debian/gzip-win32/usr/share/win32/
128 dh_installdocs -i README* TODO
129 dh_installchangelogs -i ChangeLog
138 binary-arch: build-stamp
141 if test -x "$$(which dh_prep)"; then dh_prep; else dh_clean -k; fi
143 ${MAKE} -C builddir install \
144 prefix=${_topdir}/debian/gzip/usr \
145 bindir=${_topdir}/debian/gzip/bin
148 dh_installdocs -s README* TODO
150 dh_installinfo -s doc/gzip.info
151 dh_installchangelogs -s ChangeLog
156 ln -s gunzip.1.gz debian/gzip/usr/share/man/man1/uncompress.1.gz
157 ln -s zgrep.1.gz debian/gzip/usr/share/man/man1/zegrep.1.gz
158 ln -s zgrep.1.gz debian/gzip/usr/share/man/man1/zfgrep.1.gz
159 rm -f ${_topdir}/debian/gzip/usr/share/info/dir.gz
168 .PHONY: binary binary-arch binary-indep build build-arch build-indep clean
169 .PHONY: configure configure-indep