]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blame - debian/rules
Remove special mips libraries from Debian build
[thirdparty/e2fsprogs.git] / debian / rules
CommitLineData
4d8f08f4
TT
1#! /usr/bin/make -f
2# -*- makefile -*-
3#
4# Invoke each target with `./debian/rules <target>'. All targets should be
5# invoked with the package root as the current directory.
6#
7# The `binary' target must be run as root, as it needs to install files with
8# specific ownerships.
9
d973c18b
TT
10-include debian/rules.custom
11
697e21fa
TT
12export DEB_BUILD_MAINT_OPTIONS ?= hardening=+all
13
4d8f08f4 14# be paranoid
d973c18b 15export LC_ALL ?= C
4d8f08f4 16
f85cc2a8
TT
17# These are used for cross-compiling and for saving the configure script
18# from having to guess our platform (since we know it already)
d973c18b
TT
19DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
20DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
21DEB_HOST_OS ?= $(shell dpkg-architecture -qDEB_HOST_OS)
22DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
23DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
24DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null)
4d8f08f4 25
becb01ce
TT
26# Allow distro-specific behaviour
27DISTRO :=$(shell sed -ne '/DISTRIB_ID/s/.*=//p' /etc/lsb-release 2>/dev/null || echo Debian)
becb01ce 28UTIL_LINUX_NG ?= yes
becb01ce 29
d3c05957
TT
30ifeq ($(DEB_BUILD_GNU_SYSTEM), gnu)
31SKIP_FUSE2FS=yes
32endif
33
a6728639
TT
34DH_VERSION := $(shell dpkg-query -W -f '$${Version}' debhelper)
35
36# USE_DBGSYM :=
37USE_DBGSYM ?= $(shell if dpkg --compare-versions $(DH_VERSION) ">=" 9.20160114 ; then echo yes ; fi)
38
39ifeq ($(USE_DBGSYM),yes)
40dh_strip_args = -p$(1) --dbgsym-migration='$(1)-dbg (<= 1.43-1)'
41dh_strip_args2 = -p$(1) --dbgsym-migration='$(2)-dbg (<= 1.43-1)'
42else
43dh_strip_args = -p$(1) --dbg-package=$(1)-dbg
44dh_strip_args2 = -p$(1) --dbg-package=$(2)-dbg
45endif
4d8f08f4 46# find the version for the main package, from changelog file
56eb4d47 47MAIN_VERSION = $(shell head -n 1 debian/changelog | cut '-d ' -f 2 | sed 's/[()]//g')
e5b16437
TT
48# find versions for libraries going into their own packages, from their Makefile.in's,
49# and sonames for all libs
d973c18b
TT
50COMERR_VERSION ?= $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3)
51COMERR_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/et/Makefile.in | cut '-d ' -f3)
52SS_VERSION ?= $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3)
53SS_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/ss/Makefile.in | cut '-d ' -f3)
95f65c3d
TT
54
55ifneq ($(UTIL_LINUX_NG),yes)
d973c18b
TT
56UUID_VERSION ?= $(shell grep ELF_VERSION lib/uuid/Makefile.in | cut '-d ' -f3)
57UUID_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/uuid/Makefile.in | cut '-d ' -f3)
95f65c3d 58
d973c18b
TT
59BLKID_VERSION ?= $(shell grep ELF_VERSION lib/blkid/Makefile.in | cut '-d ' -f3)
60BLKID_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/blkid/Makefile.in | cut '-d ' -f3)
95f65c3d
TT
61endif
62
d973c18b
TT
63EXT2FS_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/ext2fs/Makefile.in | cut '-d ' -f3)
64E2P_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/e2p/Makefile.in | cut '-d ' -f3)
4d8f08f4 65
d973c18b 66package ?= e2fsprogs
4d8f08f4 67
d973c18b
TT
68topdir ?= $(shell pwd)
69debdir ?= ${topdir}/debian
70tmpdir ?= ${debdir}/tmp
71udebdir ?= ${debdir}/e2fsprogs-udeb
95f65c3d 72ifneq ($(UTIL_LINUX_NG),yes)
d973c18b
TT
73blkidudebdir ?= ${debdir}/libblkid1-udeb
74uuidudebdir ?= ${debdir}/libuuid1-udeb
95f65c3d 75endif
d973c18b
TT
76libcomerrdir ?= ${debdir}/libcomerr${COMERR_SOVERSION}
77comerrdevdir ?= ${debdir}/comerr-dev
78libcomerrdbgdir ?= ${debdir}/libcomerr2-dbg
79libssdir ?= ${debdir}/libss${SS_SOVERSION}
80ssdevdir ?= ${debdir}/ss-dev
81libssdbgdir ?= ${debdir}/libss2-dbg
95f65c3d 82ifneq ($(UTIL_LINUX_NG),yes)
d973c18b
TT
83libblkiddir ?= ${debdir}/libblkid${BLKID_SOVERSION}
84libblkiddevdir ?= ${debdir}/libblkid-dev
85libblkiddbgdir ?= ${debdir}/libblkid1-dbg
86libuuiddir ?= ${debdir}/libuuid${UUID_SOVERSION}
87uuiddevdir ?= ${debdir}/uuid-dev
88libuuiddbgdir ?= ${debdir}/libuuid1-dbg
89uuidruntimedir ?= ${debdir}/uuid-runtime
90uuidruntimedbgdir ?= ${debdir}/uuid-runtime-dbg
95f65c3d 91endif
d973c18b
TT
92libext2dir ?= ${debdir}/e2fslibs
93libext2devdir ?= ${debdir}/e2fslibs-dev
94libext2dbgdir ?= ${debdir}/e2fslibs-dbg
95maindir ?= ${debdir}/e2fsprogs
96e2fsckstaticdir ?= ${debdir}/e2fsck-static
97debugdir ?= ${debdir}/e2fsprogs-dbg
98stdbuilddir ?= ${debdir}/BUILD-STD
d973c18b
TT
99# docdir ?= ${maindir}/usr/share/doc/${package}
100MANDIR ?= /usr/share/man
101mandir ?= ${tmpdir}${MANDIR}
102
103UDEB_NAME ?= $(package)-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb
104UDEB_PRIORITY ?= $(shell grep '^Package: e2fsprogs-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2)
dd198d68 105
95f65c3d 106ifneq ($(UTIL_LINUX_NG),yes)
d973c18b
TT
107BLKID_UDEB_NAME ?= libblkid1-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb
108BLKID_UDEB_PRIORITY ?= $(shell grep '^Package: libblkid1-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2)
417781af 109
d973c18b
TT
110UUID_UDEB_NAME ?= libuuid1-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb
111UUID_UDEB_PRIORITY ?= $(shell grep '^Package: libuuid1-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2)
95f65c3d 112endif
e254d05b 113
d973c18b
TT
114STAMPSDIR ?= debian/stampdir
115CFGSTDSTAMP ?= ${STAMPSDIR}/configure-std-stamp
116CFGBFSTAMP ?= ${STAMPSDIR}/configure-bf-stamp
d973c18b
TT
117BUILDSTDSTAMP ?= ${STAMPSDIR}/build-std-stamp
118BUILDBFSTAMP ?= ${STAMPSDIR}/build-bf-stamp
541d173d 119
d973c18b
TT
120INSTALL ?= install
121INSTALL_PROGRAM ?= $(INSTALL) -p -o root -g root -m 0755
1893e713 122
fbcb3a85
TT
123#ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
124#INSTALL_PROGRAM += -s
125#endif
1893e713 126
618dcd2c
TT
127ifneq (,$(findstring update-symbols,$(DEB_BUILD_OPTIONS)))
128SYMBOL_LIBS := e2fslibs libcomerr2 libss2
129ifneq ($(UTIL_LINUX_NG),yes)
130SYMBOL_LIBS += libblkid1 libuuid1
131endif
132endif
133
d973c18b
TT
134DEFAULT_CFLAGS ?= -g -O2
135DEFAULT_LDFLAGS ?= -Wl,-Bsymbolic-functions
910fae94 136
95decc5c 137CFLAGS ?= $(shell if dpkg-buildflags > /dev/null 2>&1 ; then \
697e21fa 138 DEB_BUILD_MAINT_OPTIONS=$(DEB_BUILD_MAINT_OPTIONS) \
95decc5c
TT
139 dpkg-buildflags --get CFLAGS; else echo $(DEFAULT_CFLAGS) ; fi)
140LDFLAGS ?= $(shell if dpkg-buildflags > /dev/null 2>&1 ; then \
697e21fa 141 DEB_BUILD_MAINT_OPTIONS=$(DEB_BUILD_MAINT_OPTIONS) \
95decc5c
TT
142 dpkg-buildflags --get LDFLAGS; else echo $(DEFAULT_LDFLAGS) ; fi)
143CPPFLAGS ?= $(shell if dpkg-buildflags > /dev/null 2>&1 ; then \
697e21fa 144 DEB_BUILD_MAINT_OPTIONS=$(DEB_BUILD_MAINT_OPTIONS) \
95decc5c 145 dpkg-buildflags --get CPPFLAGS; fi)
910fae94 146
4d8f08f4 147ifeq (${DEB_HOST_ARCH},alpha)
0b5b9f90 148CFLAGS += -DHAVE_NETINET_IN_H
4d8f08f4 149else
0b5b9f90 150CFLAGS += -D__NO_STRING_INLINES
4d8f08f4
TT
151endif
152
fb8bcfcd 153E2FSCK_STATIC = ${stdbuilddir}/e2fsck/e2fsck.static
3e41608a 154
04f34e71
TT
155CFLAGS_SHLIB = $(CFLAGS)
156CFLAGS_STLIB = $(CFLAGS)
157LDFLAGS_SHLIB = $(LDFLAGS)
697e21fa
TT
158LDFLAGS_STATIC = $(filter-out -fPIE -fpie -pie,$(LDFLAGS))
159
2b561a67
TT
160ifneq ($(SKIP_UDEB),)
161SKIP_BF ?= yes
162endif
163
be241786
TT
164ifeq ($(SKIP_BF),yes)
165BUILD_BF =
166bfbuilddir ?= ${stdbuilddir}
167else
168BUILD_BF = build-bf
169bfbuilddir ?= ${debdir}/BUILD-BF
170endif
171
0b5b9f90 172BF_CFLAGS = -Os -fomit-frame-pointer
79786216 173
95f65c3d 174ifeq ($(UTIL_LINUX_NG),yes)
efeda9d5 175UTIL_CONF_FLAGS ?= --disable-fsck --disable-libblkid \
95f65c3d
TT
176 --disable-libuuid --disable-uuidd
177else
efeda9d5
TT
178UTIL_CONF_FLAGS ?= --enable-fsck --enable-libblkid \
179 --enable-libuuid --enable-uuidd
95f65c3d 180endif
79786216 181
d3c05957 182ifneq ($(SKIP_FUSE2FS),)
5a0affdb
TT
183UTIL_CONF_FLAGS += --disable-fuse2fs
184endif
185
55e00a25 186ifneq ($(strip $(DEB_HOST_MULTIARCH)),)
d973c18b 187MULTIARCH_CONF ?= --with-multiarch=$(DEB_HOST_MULTIARCH)
55e00a25
TT
188# This doesn't work yet because gdb and lintian don't expect and/or
189# don't work with /usr/lib/<triplet>/debug
190#USRLIB = /usr/lib/$(DEB_HOST_MULTIARCH)
d973c18b 191USRLIB ?= /usr/lib
55e00a25 192else
d973c18b 193USRLIB ?= /usr/lib
55e00a25
TT
194endif
195
6e2393fd
TT
196BACKTRACE_CONF_FLAGS ?= $(shell if ${debdir}/scripts/test-backtrace ; then echo --disable-backtrace ; fi)
197
efeda9d5
TT
198COMMON_CONF_FLAGS = --disable-e2initrd-helper --enable-quota \
199 --infodir=/usr/share/info --enable-symlink-install \
200 $(MULTIARCH_CONF) $(BACKTRACE_CONF_FLAGS) $(UTIL_CONF_FLAGS)
79786216 201
efeda9d5
TT
202STD_CONF_FLAGS ?= --enable-elf-shlibs
203
204BF_CONF_FLAGS ?= --enable-elf-shlibs --disable-nls --disable-imager \
3dcb760f
TT
205 --disable-testio-debug --disable-uuidd --disable-tls \
206 --disable-tdb --disable-debugfs
79786216 207
95f65c3d 208M4_ARGS=
a6728639
TT
209DBG_PACKAGES=
210
211ifeq ($(USE_DBGSYM),yes)
212M4_ARGS+=-DUSE_DBGSYM
213else
214DBG_PACKAGES += -pe2fsprogs-dbg -pe2fslibs-dbg -plibcomerr2-dbg -plibss2-dbg
215M4_ARGS+=-UUSE_DBGSYM
216endif
217
95f65c3d
TT
218ifeq ($(UTIL_LINUX_NG),yes)
219M4_ARGS+=-DUTIL_LINUX_NG
220else
a6728639 221DBG_PACKAGES += -puuid-runtime-dbg -plibuuid1-dbg -plibblkid1-dbg
95f65c3d
TT
222M4_ARGS+=-UUTIL_LINUX_NG
223endif
224
55e00a25
TT
225ifneq ($(strip $(DEB_HOST_MULTIARCH)),)
226M4_ARGS+=-DDO_MULTIARCH
227else
228M4_ARGS+=-UDO_MULTIARCH
229endif
230
a8ffb5c2
FB
231ifneq ($(BUILD_E2FSCK_STATIC),no)
232M4_ARGS+=-DE2FSCK_STATIC
233else
234M4_ARGS+=-UE2FSCK_STATIC
235endif
236
2b561a67
TT
237ifeq ($(SKIP_UDEB),)
238INSTALL_UDEB = install-udeb
239M4_ARGS+=-DUDEB_PKGS
240else
241M4_ARGS+=-UUDEB_PKGS
242endif
243
d3c05957
TT
244ifeq ($(SKIP_FUSE2FS),)
245M4_ARGS+=-DFUSE2FS
246else
247M4_ARGS+=-UFUSE2FS
248endif
249
55e00a25
TT
250FILES_FIXUP= libcomerr2.files comerr-dev.files libss2.files ss-dev.files \
251 libuuid1.files uuid-dev.files libblkid1.files libblkid-dev.files \
252 e2fslibs.files e2fslibs-dev.files
253
e54e7000 254debian-files: debian/control debian/e2fsprogs.shlibs.local
55e00a25
TT
255ifeq ($(strip $(DEB_HOST_MULTIARCH)),)
256 for i in $(FILES_FIXUP); do \
257 sed -e 's;lib/\*/;lib/;' debian/$$i.in > debian/$$i; \
258 done
259else
260 for i in $(FILES_FIXUP); do cp debian/$$i.in debian/$$i; done
261endif
e54e7000
TT
262
263mrproper: clean
264 rm debian/control debian/e2fsprogs.shlibs.local
265
95f65c3d 266debian/control: debian/control.in debian/rules
55e00a25 267 m4 $(M4_ARGS) < debian/control.in | grep -v ^REMOVE_ME$$ > $@
95f65c3d 268
e54e7000
TT
269debian/e2fsprogs.shlibs.local: debian/e2fsprogs.shlibs.local.in
270 m4 $(M4_ARGS) < debian/e2fsprogs.shlibs.local.in > $@
271
541d173d 272${CFGSTDSTAMP}:
4d8f08f4 273 dh_testdir
541d173d 274
41b6ae60
TT
275 # Make sure we don't try to rebuild the configure scripts
276 find . -name configure | xargs touch
277
79786216
TT
278 mkdir -p ${stdbuilddir}
279ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
be5a72da 280 cd ${stdbuilddir} && AWK=/usr/bin/awk \
98e858bf 281 ../../configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} \
efeda9d5 282 ${EXTRA_CONF_FLAGS} CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" \
697e21fa
TT
283 LDFLAGS="$(LDFLAGS)" CFLAGS_SHLIB="$(CFLAGS_SHLIB)" \
284 CFLAGS_STLIB="$(CFLAGS_STLIB)" \
285 LDFLAGS_SHLIB="$(LDFLAGS_SHLIB)" \
286 LDFLAGS_STATIC="$(LDFLAGS_STATIC)"
79786216 287else
be5a72da 288 cd ${stdbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \
98e858bf 289 ../../configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} \
efeda9d5
TT
290 ${EXTRA_CONF_FLAGS} --build=$(DEB_BUILD_GNU_TYPE) \
291 --host=$(DEB_HOST_GNU_TYPE) CFLAGS="${CFLAGS}" \
697e21fa
TT
292 CPPFLAGS="$(CPPFLAGS)" CFLAGS_SHLIB="$(CFLAGS_SHLIB)" \
293 CFLAGS_STLIB="$(CFLAGS_STLIB)" \
294 LDFLAGS="$(LDFLAGS)" \
295 LDFLAGS_SHLIB="$(LDFLAGS_SHLIB)" \
296 LDFLAGS_STATIC="$(LDFLAGS_STATIC)"
79786216 297endif
e5b16437 298
541d173d
TT
299 mkdir -p ${STAMPSDIR}
300 touch ${CFGSTDSTAMP}
4d8f08f4 301
541d173d 302${CFGBFSTAMP}:
4d8f08f4 303 dh_testdir
541d173d
TT
304 rm -f config.cache
305
79786216 306 mkdir -p ${bfbuilddir}
4d8f08f4 307ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
be5a72da 308 cd ${bfbuilddir} && AWK=/usr/bin/awk \
98e858bf 309 ../../configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} \
efeda9d5 310 ${EXTRA_CONF_FLAGS} CFLAGS="${CFLAGS} ${BF_CFLAGS}" \
697e21fa
TT
311 CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
312 CFLAGS_SHLIB="$(CFLAGS_SHLIB)" \
313 CFLAGS_STLIB="$(CFLAGS_STLIB)" \
314 LDFLAGS_SHLIB="$(LDFLAGS_SHLIB)" \
315 LDFLAGS_STATIC="$(LDFLAGS_STATIC)"
4d8f08f4 316else
be5a72da 317 cd ${bfbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \
98e858bf 318 ../../configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} \
efeda9d5
TT
319 ${EXTRA_CONF_FLAGS} --build=$(DEB_BUILD_GNU_TYPE) \
320 --host=$(DEB_HOST_GNU_TYPE) CFLAGS="${CFLAGS}" \
697e21fa
TT
321 CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
322 CFLAGS_SHLIB="$(CFLAGS_SHLIB)" \
323 CFLAGS_STLIB="$(CFLAGS_STLIB)" \
324 LDFLAGS_SHLIB="$(LDFLAGS_SHLIB)" \
325 LDFLAGS_STATIC="$(LDFLAGS_STATIC)"
4d8f08f4 326endif
541d173d
TT
327 mkdir -p ${STAMPSDIR}
328 touch ${CFGBFSTAMP}
79786216 329
55e00a25
TT
330build-arch: build
331build-indep: build
bf26fae3 332build: build-std $(BUILD_BF)
79786216 333
541d173d
TT
334build-std: ${BUILDSTDSTAMP}
335${BUILDSTDSTAMP}: ${CFGSTDSTAMP}
79786216 336 dh_testdir
43e6c79a
TT
337 if which dh_update_autotools_config > /dev/null 2>&1 ; then \
338 dh_update_autotools_config ;\
339 fi
f921eda1 340 $(MAKE) -C ${stdbuilddir} V=1 all
a8ffb5c2 341ifneq ($(BUILD_E2FSCK_STATIC),no)
cd056798 342 $(MAKE) -C ${stdbuilddir}/e2fsck V=1 e2fsck.static
a8ffb5c2 343endif
2c0e8c7a
TT
344 if ! test -d debian/orig-gmo ; then \
345 mkdir debian/orig-gmo ; \
346 mv po/*.gmo po/*.po debian/orig-gmo ; \
347 cp debian/orig-gmo/*.po po ; \
348 fi
f921eda1 349 $(MAKE) -C ${stdbuilddir}/po V=1 update-gmo
e5b16437 350
b79e338d
TT
351 ( cd ${stdbuilddir}/doc && $(MAKE) V=1 libext2fs.html )
352 ( cd ${stdbuilddir}/lib/et && $(MAKE) V=1 com_err.info com_err.html )
e5b16437 353
541d173d 354 touch ${BUILDSTDSTAMP}
79786216 355
541d173d
TT
356build-bf: ${BUILDBFSTAMP}
357${BUILDBFSTAMP}: ${CFGBFSTAMP}
79786216 358 dh_testdir
f921eda1
TT
359 $(MAKE) -C ${bfbuilddir} V=1 libs
360 $(MAKE) -C ${bfbuilddir}/e2fsck V=1 all
361 $(MAKE) -C ${bfbuilddir}/misc V=1 all
c1986ecb 362 $(MAKE) -C ${bfbuilddir}/resize V=1 all
541d173d 363 touch ${BUILDBFSTAMP}
4d8f08f4
TT
364
365clean:
366 dh_testdir
2c0e8c7a
TT
367 if test -d debian/orig-gmo ; then \
368 rm -f po/*.gmo po/*.po ; \
369 mv debian/orig-gmo/* po ; \
370 rmdir debian/orig-gmo ; \
371 fi
541d173d 372 rm -rf ${STAMPSDIR}
c1986ecb
TT
373 [ ! -f ${stdbuilddir}/Makefile ] || $(MAKE) -C ${stdbuilddir} V=1 distclean
374 [ ! -f ${bfbuilddir}/Makefile ] || $(MAKE) -C ${bfbuilddir} V=1 distclean
375 [ ! -f ${staticbuilddir}/Makefile ] || $(MAKE) -C ${staticbuilddir} V=1 distclean
f088231e 376 rm -rf ${stdbuilddir} ${bfbuilddir} ${staticbuilddir}
4534f8bc 377 rm -f debian/*.substvars
4d8f08f4
TT
378 dh_clean
379
62775dc5 380install: cleanup install-std
79786216
TT
381
382# This rule allows to factorize the dh_clean between the 2 install rules
383# This must be launched before install-* (if launching them by hand, for
384# exemple) or results are unpredictable
385cleanup:
b90b826b
TT
386 dh_testdir
387 dh_testroot
ef797135 388 dh_prep
79786216
TT
389
390install-std: DH_OPTIONS=
391install-std: build
392 dh_testdir
393 dh_testroot
b90b826b 394 dh_installdirs
4d8f08f4 395
b90b826b 396 mkdir -p ${tmpdir}/sbin
c1986ecb 397 $(MAKE) -C ${stdbuilddir} V=1 install DESTDIR=${tmpdir} \
79786216
TT
398 INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
399 # static libs and .h files
c1986ecb 400 $(MAKE) -C ${stdbuilddir} V=1 install-libs DESTDIR=${tmpdir} LDCONFIG=true
4d8f08f4 401
a8ffb5c2 402ifneq ($(BUILD_E2FSCK_STATIC),no)
1893e713 403 # statically-linked fsck
a827a2a3 404 ${INSTALL_PROGRAM} $(E2FSCK_STATIC) ${tmpdir}/sbin
ec3bb41b 405 cp ${mandir}/man8/e2fsck.8 ${mandir}/man8/e2fsck.static.8
a8ffb5c2
FB
406endif
407
b1c828e8
TT
408ifeq ($(DEB_BUILD_GNU_SYSTEM), gnu)
409 ${INSTALL} -m 0644 misc/mke2fs-hurd.conf ${tmpdir}/etc/mke2fs.conf
410endif
411
2a4c77bc 412 dh_movefiles
15fdc401 413 test -z "`find ${tmpdir} -type f`"
2a4c77bc 414
62775dc5
TT
415install-udeb: DH_OPTIONS=
416install-udeb: build
79786216
TT
417 dh_testdir
418 dh_testroot
79786216 419
c1986ecb 420 $(MAKE) -C ${bfbuilddir} V=1 install-shlibs-libs-recursive DESTDIR=${udebdir} \
62775dc5 421 INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
c1986ecb 422 $(MAKE) -C ${bfbuilddir}/e2fsck V=1 install DESTDIR=${udebdir} \
62775dc5 423 INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
c1986ecb 424 $(MAKE) -C ${bfbuilddir}/misc V=1 install DESTDIR=${udebdir} \
79786216 425 INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
c1986ecb 426 $(MAKE) -C ${bfbuilddir}/resize V=1 install DESTDIR=${udebdir} \
8a8a12c1 427 INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true
2a4c77bc 428
62775dc5 429 rm -rf ${udebdir}/usr
e3075aea 430 find ${udebdir}/sbin -type f -a ! -name e2fsck \
8a8a12c1
TT
431 -a ! -name mke2fs -a ! -name tune2fs \
432 -a ! -name resize2fs -a ! -name badblocks -print | xargs rm
e3075aea 433
be241786
TT
434 (cd ${udebdir}/sbin; ln -sf e2fsck fsck.ext2 ; \
435 ln -sf e2fsck fsck.ext3 ; ln -sf e2fsck fsck.ext4 ; \
436 ln -sf mke2fs mkfs.ext2 ; ln -sf mke2fs mkfs.ext3 ; \
437 ln -sf mke2fs mkfs.ext4)
dd198d68 438
95f65c3d 439ifneq ($(UTIL_LINUX_NG),yes)
417781af
TT
440 mkdir -p ${blkidudebdir}/lib
441 mv ${udebdir}/lib/libblkid.* ${blkidudebdir}/lib
79786216 442
e254d05b
TT
443 mkdir -p ${uuidudebdir}/lib
444 mv ${udebdir}/lib/libuuid.* ${uuidudebdir}/lib
95f65c3d 445endif
e254d05b 446
b90b826b
TT
447binary-indep:
448 # no arch-independant debs.
4d8f08f4 449
b90b826b 450binary-arch: DH_OPTIONS= -a
2b561a67 451binary-arch: install $(INSTALL_UDEB)
b90b826b
TT
452 dh_testdir
453 dh_testroot
454
e1ada171 455 dh_lintian
79786216 456
b90b826b 457 # symlinks to prepare dh_installdocs run
1893e713 458
95f65c3d 459ifneq ($(UTIL_LINUX_NG),yes)
151c86ab
TT
460 mkdir -p ${debdir}/libblkid${BLKID_SOVERSION}/usr/share/doc/libblkid${BLKID_SOVERSION}
461 mkdir -p ${debdir}/libblkid-dev/usr/share/doc
462 ln -sf libblkid${BLKID_SOVERSION} ${debdir}/libblkid-dev/usr/share/doc/libblkid-dev
95f65c3d 463endif
b90b826b 464
151c86ab
TT
465 mkdir -p ${debdir}/libss${SS_SOVERSION}/usr/share/doc/libss${SS_SOVERSION}
466 mkdir -p ${debdir}/ss-dev/usr/share/doc
467 ln -sf libss${SS_SOVERSION} ${debdir}/ss-dev/usr/share/doc/ss-dev
b90b826b 468
151c86ab
TT
469 mkdir -p ${debdir}/libcomerr${COMERR_SOVERSION}/usr/share/doc/libcomerr${COMERR_SOVERSION}
470 mkdir -p ${debdir}/comerr-dev/usr/share/doc
e5b16437 471 ln -sf libcomerr${COMERR_SOVERSION} ${debdir}/comerr-dev/usr/share/doc/comerr-dev
4d8f08f4 472
95f65c3d 473ifneq ($(UTIL_LINUX_NG),yes)
151c86ab
TT
474 mkdir -p ${debdir}/libuuid${UUID_SOVERSION}/usr/share/doc/libuuid${UUID_SOVERSION}
475 mkdir -p ${debdir}/uuid-dev/usr/share/doc
ec3bb41b 476# ln -sf libuuid${UUID_SOVERSION} ${debdir}/uuid-dev/usr/share/doc/uuid-dev
95f65c3d 477endif
4d8f08f4 478
151c86ab
TT
479 mkdir -p ${debdir}/e2fslibs/usr/share/doc/e2fslibs
480 mkdir -p ${debdir}/e2fslibs-dev/usr/share/doc
481 ln -sf e2fslibs ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs-dev
4d8f08f4 482
95f65c3d 483ifneq ($(UTIL_LINUX_NG),yes)
b1e22d52 484 $(INSTALL) -p -m 0644 debian/libblkid.copyright \
6fe7d115 485 ${debdir}/libblkid${BLKID_SOVERSION}/usr/share/doc/libblkid${BLKID_SOVERSION}/copyright
95f65c3d 486endif
6fe7d115 487
e254d05b 488 dh_installdocs -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb
b90b826b 489
4d8f08f4 490 # HTML docs
b1e22d52 491 $(INSTALL) -d ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs/html-info/
4534f8bc 492 $(INSTALL) -p -m 0644 ${stdbuilddir}/doc/*.html \
151c86ab 493 ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs/html-info/
b1e22d52 494 $(INSTALL) -d ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/html-info/
4534f8bc 495 $(INSTALL) -p -m 0644 ${stdbuilddir}/lib/et/*.html \
151c86ab 496 ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/html-info/
4d8f08f4
TT
497
498 # texinfo docs
151c86ab 499 mkdir -p ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}
b1e22d52 500 $(INSTALL) -p -m 0644 ${topdir}/doc/libext2fs.texinfo \
151c86ab 501 ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs/libext2fs.texi
b1e22d52 502 $(INSTALL) -p -m 0644 ${topdir}/lib/et/com_err.texinfo \
e5b16437 503 ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/com_err.texi
4d8f08f4 504
b1e22d52
TT
505 $(INSTALL) -d ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/examples
506 $(INSTALL) -p -m 0644 lib/ss/ss_err.et \
151c86ab
TT
507 ${stdbuilddir}/lib/ext2fs/ext2_err.et \
508 ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/examples
b1e22d52
TT
509 $(INSTALL) -d ${debdir}/ss-dev/usr/share/doc/libss${SS_SOVERSION}/examples
510 $(INSTALL) -p -m 0644 debugfs/debug_cmds.ct \
151c86ab
TT
511 ${debdir}/ss-dev/usr/share/doc/libss${SS_SOVERSION}/examples
512
541d173d 513 dh_installinfo -pcomerr-dev ${stdbuilddir}/lib/et/com_err.info
79786216 514 dh_installinfo -pe2fslibs-dev ${stdbuilddir}/doc/libext2fs.info
4d8f08f4 515
d1335619 516 dh_installchangelogs
a3f464ff 517 dh_fixperms
a6728639 518 dh_strip $(call dh_strip_args,e2fsprogs)
2b561a67 519ifneq ($(BUILD_E2FSCK_STATIC),no)
a6728639 520 dh_strip $(call dh_strip_args2,e2fsck-static,e2fsprogs)
2b561a67 521endif
a6728639 522 dh_strip $(call dh_strip_args,e2fslibs)
a6728639
TT
523 dh_strip $(call dh_strip_args,libss${SS_SOVERSION})
524 dh_strip $(call dh_strip_args,libcomerr${COMERR_SOVERSION})
95f65c3d 525ifneq ($(UTIL_LINUX_NG),yes)
a6728639
TT
526 dh_strip $(call dh_strip_args,libblkid${BLKID_SOVERSION})
527 dh_strip $(call dh_strip_args,libuuid${UUID_SOVERSION})
95f65c3d 528endif
7f2c7495 529 dh_strip
fbcb3a85 530
649bd289 531 # dpkg symbol handling
95f65c3d 532 for i in $(SYMBOL_LIBS); \
649bd289
TT
533 do \
534 echo "Generating symbols for $$i..."; \
535 dpkg-gensymbols -p$$i -Pdebian/$$i > debian/$$i.tmp-patch; \
536 cat debian/$$i.tmp-patch; \
537 patch debian/$$i.symbols < debian/$$i.tmp-patch; \
538 /bin/rm debian/$$i.tmp-patch; \
539 done
649bd289 540
b90b826b 541 dh_compress
4d8f08f4 542
e1ada171 543 dh_makeshlibs --add-udeb=e2fsprogs-udeb
2b561a67 544ifeq ($(SKIP_UDEB),)
95f65c3d 545ifneq ($(UTIL_LINUX_NG),yes)
7512f136
TT
546 echo "udeb: libblkid 1 libblkid1-udeb" >> \
547 debian/libblkid1/DEBIAN/shlibs
548 echo "udeb: libuuid 1 libuuid1-udeb" >> debian/libuuid1/DEBIAN/shlibs
2b561a67 549endif
95f65c3d 550endif
6fe7d115 551
b90b826b 552 dh_installdeb
79786216 553 dh_shlibdeps -l${stdbuilddir}/lib
151c86ab
TT
554 dh_shlibdeps -pe2fsprogs -l${stdbuilddir}/lib \
555 -u"-Ldebian/e2fsprogs.shlibs.local"
2b561a67 556ifeq ($(SKIP_UDEB),)
7a15db23
TT
557 dh_shlibdeps -pe2fsprogs-udeb -l${stdbuilddir}/lib \
558 -u"-Ldebian/e2fsprogs-udeb.shlibs.local"
2b561a67 559endif
d3c05957 560ifeq ($(SKIP_FUSE2FS),)
d1335619
TT
561 dh_shlibdeps -pfuse2fs -l${stdbuilddir}/lib \
562 -u"-Ldebian/e2fsprogs.shlibs.local"
d3c05957 563endif
b90b826b 564
151c86ab 565 dh_gencontrol -Ncomerr-dev -Nss-dev -Nuuid-dev \
e254d05b 566 -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb
b90b826b 567 DH_OPTIONS= dh_gencontrol -pcomerr-dev \
d8a1a674 568 -u '-v${COMERR_VERSION}-${MAIN_VERSION} -VmainBinary=${MAIN_VERSION}'
b90b826b 569 DH_OPTIONS= dh_gencontrol -pss-dev \
d8a1a674 570 -u '-v${SS_VERSION}-${MAIN_VERSION} -VmainBinary=${MAIN_VERSION}'
95f65c3d 571ifneq ($(UTIL_LINUX_NG),yes)
b90b826b 572 DH_OPTIONS= dh_gencontrol -puuid-dev \
d8a1a674 573 -u '-v${UUID_VERSION}-${MAIN_VERSION} -VmainBinary=${MAIN_VERSION}'
95f65c3d 574endif
2b561a67 575ifeq ($(SKIP_UDEB),)
bf5498cc 576 dh_gencontrol -pe2fsprogs-udeb -- -fdebian/files~
95f65c3d 577ifneq ($(UTIL_LINUX_NG),yes)
bf5498cc
TT
578 dh_gencontrol -plibblkid1-udeb -- -fdebian/files~
579 dh_gencontrol -plibuuid1-udeb -- -fdebian/files~
95f65c3d 580endif
2b561a67 581endif
b90b826b 582
2b561a67 583ifeq ($(SKIP_UDEB),)
bf5498cc 584 dpkg-distaddfile $(UDEB_NAME) debian-installer $(UDEB_PRIORITY)
95f65c3d 585ifneq ($(UTIL_LINUX_NG),yes)
bf5498cc
TT
586 dpkg-distaddfile $(BLKID_UDEB_NAME) debian-installer $(BLKID_UDEB_PRIORITY)
587 dpkg-distaddfile $(UUID_UDEB_NAME) debian-installer $(UUID_UDEB_PRIORITY)
2b561a67 588endif
95f65c3d 589endif
e1ada171
TT
590 dh_md5sums
591 dh_builddeb
e254d05b 592
4d8f08f4
TT
593binary: binary-indep binary-arch
594
910fae94
TT
595.PHONY: binary binary-arch binary-indep clean checkroot mrproper \
596 debug_flags debian-files
597
598debug_flags:
599 @echo CFLAGS is $(CFLAGS)
600 @echo LDFLAGS is $(LDFLAGS)
601 @echo CPPFLAGS is $(CPPFLAGS)