merge NMUs, deliver NEWS, document move to salsa
[debian/gzip] / debian / rules
1 #!/usr/bin/make -f
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
6
7 # Comment this to turn off debhelper verbose mode.
8 export DH_VERBOSE=1
9
10 shellescape='$(subst ','\'',$(1))'
11 shellexport=$(1)=$(call shellescape,${$(1)})
12
13 include /usr/share/dpkg/architecture.mk
14
15 # Automatic ${CC} selection for cross-compiles
16
17 # is ${CC} defined anywhere (other than implicit rules?)
18 ifneq (,$(findstring $(origin CC),default undefined))
19 # no - then default to gcc (or cross-gcc)
20 ifneq (${DEB_BUILD_ARCH},${DEB_HOST_ARCH})
21 CC=                     ${DEB_HOST_GNU_TYPE}-gcc
22 else
23 CC=                     gcc
24 endif
25 endif
26
27 export DEFS=NO_ASM # Avoid TEXTRELs on i386
28 EXTRA_CFLAGS=           -Wall
29 EXTRA_CPPFLAGS=
30
31 ifeq (${DEB_HOST_ARCH},amd64)
32 EXTRA_CPPFLAGS+=        -DUNALIGNED_OK
33 endif
34
35 # Automatic dpkg-buildflags selection, backport-friendly
36
37 ifneq (,$(wildcard /usr/share/dpkg/buildflags.mk))
38 # dpkg-dev (>= 1.16.1~)
39 DEB_CFLAGS_MAINT_APPEND=${EXTRA_CFLAGS}
40 DEB_CPPFLAGS_MAINT_APPEND=${EXTRA_CPPFLAGS}
41 # maybe turn this on later
42 #DEB_BUILD_MAINT_OPTIONS=hardening=+all
43 include /usr/share/dpkg/buildflags.mk
44 else
45 # old-fashioned way to determine build flags
46 CFLAGS=                 -O$(if $(findstring noopt,${DEB_BUILD_OPTIONS}),0,2) -g
47 CFLAGS+=                ${EXTRA_CFLAGS}
48 LDFLAGS+=               ${EXTRA_LDFLAGS}
49 endif
50
51 # maybe turn this on later
52 #ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
53 #NUMJOBS=               $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
54 #MAKEFLAGS+=            -j${NUMJOBS}
55 #endif
56
57 # whitespace-safe path to source directory
58 _topdir=$(call shellescape,$(shell pwd))
59
60 CONFIGURE_ARGS=         --prefix=/usr \
61                         --bindir=/bin \
62                         --infodir=${_topdir}/debian/gzip/usr/share/info \
63                         --mandir=${_topdir}/debian/gzip/usr/share/man
64
65 ifneq (${DEB_BUILD_ARCH},${DEB_HOST_ARCH})
66 CONFIGURE_ARGS+=        --host=${DEB_HOST_GNU_TYPE}
67 endif
68
69 reconf-stamp:
70         cp -f /usr/share/misc/config.sub build-aux/config.sub
71         cp -f /usr/share/misc/config.guess build-aux/config.guess
72         autoreconf -v
73         :>$@
74
75 configure: configure-stamp
76 configure-stamp: reconf-stamp
77         dh_testdir
78         mkdir -p builddir
79         cd builddir && env \
80             $(foreach i,CC CFLAGS CPPFLAGS LDFLAGS,$(call shellexport,$i)) \
81             CONFIG_SHELL=/bin/sh GREP=grep ../configure ${CONFIGURE_ARGS}
82         :>$@
83
84 configure-indep: configure-indep-stamp
85 configure-indep-stamp: reconf-stamp
86         dh_testdir
87         mkdir -p builddir-indep
88         cd builddir-indep && ../configure --host=i686-w64-mingw32
89         :>$@
90
91 build: build-stamp build-indep-stamp
92
93 build-arch: build-stamp
94 build-stamp: configure-stamp
95         dh_testdir
96         ${MAKE} -C builddir
97 ifeq (,$(filter nocheck,${DEB_BUILD_OPTIONS}))
98 ifeq (${DEB_BUILD_ARCH},${DEB_HOST_ARCH})
99         ${MAKE} -C builddir check
100 endif
101 endif
102         :>$@
103
104 build-indep: build-indep-stamp
105 build-indep-stamp: configure-indep-stamp
106         dh_testdir
107         ${MAKE} -C builddir-indep
108         :>$@
109
110 clean:
111         dh_testdir
112         dh_testroot
113         -rm -f build-stamp build-indep-stamp configure-stamp configure-indep-stamp reconf-stamp
114         -rm -rf builddir builddir-indep
115         dh_clean
116
117 binary: binary-arch binary-indep
118
119 binary-indep: build-indep-stamp
120         dh_testdir
121         dh_testroot
122         dh_prep
123         dh_installdirs
124         i686-w64-mingw32-strip builddir-indep/gzip.exe
125         install -m 0755 builddir-indep/gzip.exe \
126             debian/gzip-win32/usr/share/win32/
127         dh_installdocs -i README* TODO NEWS
128         dh_installchangelogs -i ChangeLog
129         dh_lintian -i
130         dh_compress -i
131         dh_fixperms -i
132         dh_installdeb -i
133         dh_gencontrol -i
134         dh_md5sums -i
135         dh_builddeb -i
136
137 binary-arch: build-stamp
138         dh_testdir
139         dh_testroot
140         dh_prep
141         dh_installdirs
142         ${MAKE} -C builddir install \
143             prefix=${_topdir}/debian/gzip/usr \
144             bindir=${_topdir}/debian/gzip/bin
145         dh_testdir -a
146         dh_testroot -a
147         dh_installdocs -a README* TODO NEWS
148         dh_installman *.1
149         dh_installinfo -a doc/gzip.info
150         dh_installchangelogs -a ChangeLog
151         dh_link -a
152         dh_lintian -a
153         dh_strip -a
154         dh_compress -a
155         ln -s gunzip.1.gz debian/gzip/usr/share/man/man1/uncompress.1.gz
156         ln -s zgrep.1.gz debian/gzip/usr/share/man/man1/zegrep.1.gz
157         ln -s zgrep.1.gz debian/gzip/usr/share/man/man1/zfgrep.1.gz
158         rm -f ${_topdir}/debian/gzip/usr/share/info/dir.gz
159         dh_fixperms -a
160         dh_makeshlibs -a
161         dh_installdeb -a
162         dh_shlibdeps -a
163         dh_gencontrol -a
164         dh_md5sums -a
165         dh_builddeb -a
166
167 .PHONY: binary binary-arch binary-indep build build-arch build-indep clean
168 .PHONY: configure configure-indep