lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame^] | 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 | |
| 10 | -include debian/rules.custom |
| 11 | |
| 12 | # be paranoid |
| 13 | export LC_ALL ?= C |
| 14 | |
| 15 | # These are used for cross-compiling and for saving the configure script |
| 16 | # from having to guess our platform (since we know it already) |
| 17 | DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) |
| 18 | DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) |
| 19 | DEB_HOST_OS ?= $(shell dpkg-architecture -qDEB_HOST_OS) |
| 20 | DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) |
| 21 | DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) |
| 22 | DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null) |
| 23 | |
| 24 | # Allow distro-specific behaviour |
| 25 | DISTRO :=$(shell sed -ne '/DISTRIB_ID/s/.*=//p' /etc/lsb-release 2>/dev/null || echo Debian) |
| 26 | SYS_BLKID_VER := $(shell dpkg-query -W libblkid1:$(DEB_HOST_ARCH) | cut -f 2 | cut -b 1) |
| 27 | ifeq ($(SYS_BLKID_VER),2) |
| 28 | UTIL_LINUX_NG ?= yes |
| 29 | endif |
| 30 | |
| 31 | # find the version for the main package, from changelog file |
| 32 | MAIN_VERSION = $(shell head -n 1 debian/changelog | cut '-d ' -f 2 | sed 's/[()]//g') |
| 33 | # find versions for libraries going into their own packages, from their Makefile.in's, |
| 34 | # and sonames for all libs |
| 35 | COMERR_VERSION ?= $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3) |
| 36 | COMERR_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/et/Makefile.in | cut '-d ' -f3) |
| 37 | SS_VERSION ?= $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3) |
| 38 | SS_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/ss/Makefile.in | cut '-d ' -f3) |
| 39 | |
| 40 | ifneq ($(UTIL_LINUX_NG),yes) |
| 41 | UUID_VERSION ?= $(shell grep ELF_VERSION lib/uuid/Makefile.in | cut '-d ' -f3) |
| 42 | UUID_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/uuid/Makefile.in | cut '-d ' -f3) |
| 43 | |
| 44 | BLKID_VERSION ?= $(shell grep ELF_VERSION lib/blkid/Makefile.in | cut '-d ' -f3) |
| 45 | BLKID_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/blkid/Makefile.in | cut '-d ' -f3) |
| 46 | endif |
| 47 | |
| 48 | EXT2FS_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/ext2fs/Makefile.in | cut '-d ' -f3) |
| 49 | E2P_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/e2p/Makefile.in | cut '-d ' -f3) |
| 50 | |
| 51 | package ?= e2fsprogs |
| 52 | |
| 53 | topdir ?= $(shell pwd) |
| 54 | debdir ?= ${topdir}/debian |
| 55 | tmpdir ?= ${debdir}/tmp |
| 56 | udebdir ?= ${debdir}/e2fsprogs-udeb |
| 57 | ifneq ($(UTIL_LINUX_NG),yes) |
| 58 | blkidudebdir ?= ${debdir}/libblkid1-udeb |
| 59 | uuidudebdir ?= ${debdir}/libuuid1-udeb |
| 60 | endif |
| 61 | libcomerrdir ?= ${debdir}/libcomerr${COMERR_SOVERSION} |
| 62 | comerrdevdir ?= ${debdir}/comerr-dev |
| 63 | libcomerrdbgdir ?= ${debdir}/libcomerr2-dbg |
| 64 | libssdir ?= ${debdir}/libss${SS_SOVERSION} |
| 65 | ssdevdir ?= ${debdir}/ss-dev |
| 66 | libssdbgdir ?= ${debdir}/libss2-dbg |
| 67 | ifneq ($(UTIL_LINUX_NG),yes) |
| 68 | libblkiddir ?= ${debdir}/libblkid${BLKID_SOVERSION} |
| 69 | libblkiddevdir ?= ${debdir}/libblkid-dev |
| 70 | libblkiddbgdir ?= ${debdir}/libblkid1-dbg |
| 71 | libuuiddir ?= ${debdir}/libuuid${UUID_SOVERSION} |
| 72 | uuiddevdir ?= ${debdir}/uuid-dev |
| 73 | libuuiddbgdir ?= ${debdir}/libuuid1-dbg |
| 74 | uuidruntimedir ?= ${debdir}/uuid-runtime |
| 75 | uuidruntimedbgdir ?= ${debdir}/uuid-runtime-dbg |
| 76 | endif |
| 77 | libext2dir ?= ${debdir}/e2fslibs |
| 78 | libext2devdir ?= ${debdir}/e2fslibs-dev |
| 79 | libext2dbgdir ?= ${debdir}/e2fslibs-dbg |
| 80 | maindir ?= ${debdir}/e2fsprogs |
| 81 | e2fsckstaticdir ?= ${debdir}/e2fsck-static |
| 82 | debugdir ?= ${debdir}/e2fsprogs-dbg |
| 83 | stdbuilddir ?= ${debdir}/BUILD-STD |
| 84 | staticbuilddir ?= ${debdir}/BUILD-STATIC |
| 85 | mipsbuilddir ?= ${debdir}/BUILD-MIPS |
| 86 | mipsbuilddir64 ?= ${debdir}/BUILD-MIPS-64 |
| 87 | # docdir ?= ${maindir}/usr/share/doc/${package} |
| 88 | MANDIR ?= /usr/share/man |
| 89 | mandir ?= ${tmpdir}${MANDIR} |
| 90 | |
| 91 | UDEB_NAME ?= $(package)-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb |
| 92 | UDEB_PRIORITY ?= $(shell grep '^Package: e2fsprogs-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2) |
| 93 | |
| 94 | ifneq ($(UTIL_LINUX_NG),yes) |
| 95 | BLKID_UDEB_NAME ?= libblkid1-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb |
| 96 | BLKID_UDEB_PRIORITY ?= $(shell grep '^Package: libblkid1-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2) |
| 97 | |
| 98 | UUID_UDEB_NAME ?= libuuid1-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb |
| 99 | UUID_UDEB_PRIORITY ?= $(shell grep '^Package: libuuid1-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2) |
| 100 | endif |
| 101 | |
| 102 | STAMPSDIR ?= debian/stampdir |
| 103 | CFGSTDSTAMP ?= ${STAMPSDIR}/configure-std-stamp |
| 104 | CFGBFSTAMP ?= ${STAMPSDIR}/configure-bf-stamp |
| 105 | CFGSTATICSTAMP ?= ${STAMPSDIR}/configure-static-stamp |
| 106 | BUILDSTDSTAMP ?= ${STAMPSDIR}/build-std-stamp |
| 107 | BUILDBFSTAMP ?= ${STAMPSDIR}/build-bf-stamp |
| 108 | BUILDSTATICSTAMP ?=${STAMPSDIR}/build-static-stamp |
| 109 | |
| 110 | INSTALL ?= install |
| 111 | INSTALL_PROGRAM ?= $(INSTALL) -p -o root -g root -m 0755 |
| 112 | |
| 113 | #ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) |
| 114 | #INSTALL_PROGRAM += -s |
| 115 | #endif |
| 116 | |
| 117 | DEFAULT_CFLAGS ?= -g -O2 |
| 118 | DEFAULT_LDFLAGS ?= -Wl,-Bsymbolic-functions |
| 119 | |
| 120 | CFLAGS ?= $(shell if dpkg-buildflags > /dev/null 2>&1 ; then \ |
| 121 | dpkg-buildflags --get CFLAGS; else echo $(DEFAULT_CFLAGS) ; fi) |
| 122 | LDFLAGS ?= $(shell if dpkg-buildflags > /dev/null 2>&1 ; then \ |
| 123 | dpkg-buildflags --get LDFLAGS; else echo $(DEFAULT_LDFLAGS) ; fi) |
| 124 | CPPFLAGS ?= $(shell if dpkg-buildflags > /dev/null 2>&1 ; then \ |
| 125 | dpkg-buildflags --get CPPFLAGS; fi) |
| 126 | |
| 127 | ifeq (${DEB_HOST_ARCH},alpha) |
| 128 | CFLAGS += -DHAVE_NETINET_IN_H |
| 129 | else |
| 130 | CFLAGS += -D__NO_STRING_INLINES |
| 131 | endif |
| 132 | |
| 133 | ifneq (${DEB_HOST_ARCH_OS},linux) |
| 134 | SKIP_STATIC = yes |
| 135 | endif |
| 136 | |
| 137 | ifeq ($(SKIP_STATIC),yes) |
| 138 | BUILD_STATIC = |
| 139 | E2FSCK_STATIC = ${stdbuilddir}/e2fsck/e2fsck.static |
| 140 | else |
| 141 | BUILD_STATIC = build-static |
| 142 | E2FSCK_STATIC = ${staticbuilddir}/e2fsck/e2fsck.static |
| 143 | endif |
| 144 | |
| 145 | ifeq ($(SKIP_BF),yes) |
| 146 | BUILD_BF = |
| 147 | bfbuilddir ?= ${stdbuilddir} |
| 148 | else |
| 149 | BUILD_BF = build-bf |
| 150 | bfbuilddir ?= ${debdir}/BUILD-BF |
| 151 | endif |
| 152 | |
| 153 | BF_CFLAGS = -Os -fomit-frame-pointer |
| 154 | |
| 155 | COMMON_CONF_FLAGS = --disable-e2initrd-helper --enable-elf-shlibs \ |
| 156 | --enable-quota --infodir=/usr/share/info |
| 157 | ifeq ($(UTIL_LINUX_NG),yes) |
| 158 | COMMON_CONF_FLAGS += --disable-fsck --disable-libblkid \ |
| 159 | --disable-libuuid --disable-uuidd |
| 160 | else |
| 161 | COMMON_CONF_FLAGS += --enable-fsck |
| 162 | endif |
| 163 | |
| 164 | ifneq ($(strip $(DEB_HOST_MULTIARCH)),) |
| 165 | MULTIARCH_CONF ?= --with-multiarch=$(DEB_HOST_MULTIARCH) |
| 166 | # This doesn't work yet because gdb and lintian don't expect and/or |
| 167 | # don't work with /usr/lib/<triplet>/debug |
| 168 | #USRLIB = /usr/lib/$(DEB_HOST_MULTIARCH) |
| 169 | USRLIB ?= /usr/lib |
| 170 | else |
| 171 | USRLIB ?= /usr/lib |
| 172 | endif |
| 173 | |
| 174 | BACKTRACE_CONF_FLAGS ?= $(shell if ${debdir}/scripts/test-backtrace ; then echo --disable-backtrace ; fi) |
| 175 | |
| 176 | STD_CONF_FLAGS ?= --enable-symlink-install $(MULTIARCH_CONF) $(BACKTRACE_CONF_FLAGS) |
| 177 | |
| 178 | BF_CONF_FLAGS ?= --disable-nls --disable-imager --disable-testio-debug \ |
| 179 | --disable-uuidd --disable-tls --disable-debugfs |
| 180 | |
| 181 | STATIC_CONF_FLAGS ?= --disable-nls --disable-imager \ |
| 182 | --disable-uuidd --disable-tls |
| 183 | |
| 184 | MIPS_NOPIC_CONF_FLAGS ?= --disable-nls --disable-imager \ |
| 185 | --disable-uuidd --disable-tls \ |
| 186 | --disable-resizer # --disable-debugfs |
| 187 | |
| 188 | # we can't use those flags at configure time |
| 189 | MIPS_CFLAGS ?= -G 0 -fno-pic -mno-abicalls |
| 190 | MIPS_CFLAGS_64 ?= -mabi=64 -G 0 -fno-pic -mno-abicalls |
| 191 | |
| 192 | ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) |
| 193 | ifneq (,$(findstring $(DEB_BUILD_ARCH),mips mipsel)) |
| 194 | ismips=ismips |
| 195 | endif |
| 196 | endif |
| 197 | |
| 198 | M4_ARGS= |
| 199 | ifeq ($(UTIL_LINUX_NG),yes) |
| 200 | M4_ARGS+=-DUTIL_LINUX_NG |
| 201 | else |
| 202 | M4_ARGS+=-UUTIL_LINUX_NG |
| 203 | endif |
| 204 | |
| 205 | ifneq ($(strip $(DEB_HOST_MULTIARCH)),) |
| 206 | M4_ARGS+=-DDO_MULTIARCH |
| 207 | else |
| 208 | M4_ARGS+=-UDO_MULTIARCH |
| 209 | endif |
| 210 | |
| 211 | ifneq ($(SKIP_DIETLIBC),) |
| 212 | M4_ARGS+=-UDIETLIBC |
| 213 | WITH_DIET_LIBC = |
| 214 | else |
| 215 | M4_ARGS+=-DDIETLIBC |
| 216 | WITH_DIET_LIBC = --with-diet-libc |
| 217 | endif |
| 218 | |
| 219 | ifneq ($(BUILD_E2FSCK_STATIC),no) |
| 220 | M4_ARGS+=-DE2FSCK_STATIC |
| 221 | else |
| 222 | M4_ARGS+=-UE2FSCK_STATIC |
| 223 | endif |
| 224 | |
| 225 | FILES_FIXUP= libcomerr2.files comerr-dev.files libss2.files ss-dev.files \ |
| 226 | libuuid1.files uuid-dev.files libblkid1.files libblkid-dev.files \ |
| 227 | e2fslibs.files e2fslibs-dev.files |
| 228 | |
| 229 | debian-files: debian/control debian/e2fsprogs.shlibs.local |
| 230 | ifeq ($(strip $(DEB_HOST_MULTIARCH)),) |
| 231 | for i in $(FILES_FIXUP); do \ |
| 232 | sed -e 's;lib/\*/;lib/;' debian/$$i.in > debian/$$i; \ |
| 233 | done |
| 234 | else |
| 235 | for i in $(FILES_FIXUP); do cp debian/$$i.in debian/$$i; done |
| 236 | endif |
| 237 | |
| 238 | mrproper: clean |
| 239 | rm debian/control debian/e2fsprogs.shlibs.local |
| 240 | |
| 241 | debian/control: debian/control.in debian/rules |
| 242 | m4 $(M4_ARGS) < debian/control.in | grep -v ^REMOVE_ME$$ > $@ |
| 243 | |
| 244 | debian/e2fsprogs.shlibs.local: debian/e2fsprogs.shlibs.local.in |
| 245 | m4 $(M4_ARGS) < debian/e2fsprogs.shlibs.local.in > $@ |
| 246 | |
| 247 | ${CFGSTDSTAMP}: |
| 248 | dh_testdir |
| 249 | |
| 250 | # Make sure we don't try to rebuild the configure scripts |
| 251 | find . -name configure | xargs touch |
| 252 | |
| 253 | mkdir -p ${stdbuilddir} |
| 254 | ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) |
| 255 | cd ${stdbuilddir} && AWK=/usr/bin/awk \ |
| 256 | ${topdir}/configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ |
| 257 | CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" |
| 258 | else |
| 259 | cd ${stdbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \ |
| 260 | ${topdir}/configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ |
| 261 | --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ |
| 262 | CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" |
| 263 | endif |
| 264 | |
| 265 | # specially-built MIPS libs |
| 266 | ifneq ($(ismips),) |
| 267 | mkdir -p ${mipsbuilddir} ${mipsbuilddir64} |
| 268 | cd ${mipsbuilddir} && AWK=/usr/bin/awk \ |
| 269 | ${topdir}/configure ${MIPS_NOPIC_CONF_FLAGS} \ |
| 270 | CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" |
| 271 | cd ${mipsbuilddir64} && AWK=/usr/bin/awk \ |
| 272 | ${topdir}/configure ${MIPS_NOPIC_CONF_FLAGS} \ |
| 273 | CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" |
| 274 | endif |
| 275 | |
| 276 | mkdir -p ${STAMPSDIR} |
| 277 | touch ${CFGSTDSTAMP} |
| 278 | |
| 279 | ${CFGBFSTAMP}: |
| 280 | dh_testdir |
| 281 | rm -f config.cache |
| 282 | |
| 283 | mkdir -p ${bfbuilddir} |
| 284 | ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) |
| 285 | cd ${bfbuilddir} && AWK=/usr/bin/awk \ |
| 286 | ${topdir}/configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ |
| 287 | CFLAGS="${CFLAGS} ${BF_CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" |
| 288 | else |
| 289 | cd ${bfbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \ |
| 290 | ${topdir}/configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ |
| 291 | --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ |
| 292 | CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" |
| 293 | endif |
| 294 | mkdir -p ${STAMPSDIR} |
| 295 | touch ${CFGBFSTAMP} |
| 296 | |
| 297 | ${CFGSTATICSTAMP}: |
| 298 | dh_testdir |
| 299 | rm -f config.cache |
| 300 | |
| 301 | mkdir -p ${staticbuilddir} |
| 302 | ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) |
| 303 | if type diet > /dev/null 2>&1 ; then \ |
| 304 | cd ${staticbuilddir} && AWK=/usr/bin/awk \ |
| 305 | ${topdir}/configure ${STATIC_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ |
| 306 | ${WITH_DIET_LIBC} CFLAGS="${CFLAGS}" \ |
| 307 | CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)"; \ |
| 308 | else \ |
| 309 | cd ${staticbuilddir} && AWK=/usr/bin/awk \ |
| 310 | ${topdir}/configure ${STATIC_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ |
| 311 | CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" \ |
| 312 | LDFLAGS="$(LDFLAGS)"; \ |
| 313 | fi |
| 314 | else |
| 315 | cd ${staticbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \ |
| 316 | ${topdir}/configure ${COMMON_CONF_FLAGS} ${STATIC_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ |
| 317 | --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ |
| 318 | CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" |
| 319 | endif |
| 320 | mkdir -p ${STAMPSDIR} |
| 321 | touch ${CFGSTATICSTAMP} |
| 322 | |
| 323 | build-arch: build |
| 324 | build-indep: build |
| 325 | build: build-std $(BUILD_BF) $(BUILD_STATIC) |
| 326 | |
| 327 | build-std: ${BUILDSTDSTAMP} |
| 328 | ${BUILDSTDSTAMP}: ${CFGSTDSTAMP} |
| 329 | dh_testdir |
| 330 | $(MAKE) -C ${stdbuilddir} V=1 all |
| 331 | ifneq ($(BUILD_E2FSCK_STATIC),no) |
| 332 | $(MAKE) -C ${stdbuilddir}/e2fsck V=1 e2fsck.static |
| 333 | endif |
| 334 | $(MAKE) -C ${stdbuilddir}/po V=1 update-gmo |
| 335 | |
| 336 | ( cd ${stdbuilddir}/doc && $(MAKE) V=1 libext2fs.html ) |
| 337 | ( cd ${stdbuilddir}/lib/et && $(MAKE) V=1 com_err.info com_err.html ) |
| 338 | |
| 339 | # specially-built MIPS libs |
| 340 | ifneq ($(ismips),) |
| 341 | $(MAKE) -C ${mipsbuilddir}/util V=1 |
| 342 | $(MAKE) -C ${mipsbuilddir} V=1 \ |
| 343 | CFLAGS="${CFLAGS} ${MIPS_CFLAGS}" \ |
| 344 | LIB_SUBDIRS="lib/et lib/ext2fs" libs |
| 345 | $(MAKE) -C ${mipsbuilddir64}/util V=1 |
| 346 | $(MAKE) -C ${mipsbuilddir64} V=1 \ |
| 347 | CFLAGS="${CFLAGS} ${MIPS_CFLAGS_64}" \ |
| 348 | LIB_SUBDIRS="lib/et lib/ext2fs" libs |
| 349 | endif |
| 350 | |
| 351 | touch ${BUILDSTDSTAMP} |
| 352 | |
| 353 | build-bf: ${BUILDBFSTAMP} |
| 354 | ${BUILDBFSTAMP}: ${CFGBFSTAMP} |
| 355 | dh_testdir |
| 356 | $(MAKE) -C ${bfbuilddir} V=1 libs |
| 357 | $(MAKE) -C ${bfbuilddir}/e2fsck V=1 all |
| 358 | $(MAKE) -C ${bfbuilddir}/misc V=1 all |
| 359 | $(MAKE) -C ${bfbuilddir}/resize V=1 all |
| 360 | touch ${BUILDBFSTAMP} |
| 361 | |
| 362 | build-static: ${BUILDSTATICSTAMP} |
| 363 | ${BUILDSTATICSTAMP}: ${CFGSTATICSTAMP} |
| 364 | dh_testdir |
| 365 | $(MAKE) -C ${staticbuilddir} V=1 libs |
| 366 | ifneq ($(BUILD_E2FSCK_STATIC),no) |
| 367 | $(MAKE) -C ${staticbuilddir}/e2fsck V=1 all e2fsck.static |
| 368 | endif |
| 369 | touch ${BUILDSTATICSTAMP} |
| 370 | |
| 371 | clean: |
| 372 | dh_testdir |
| 373 | rm -rf ${STAMPSDIR} |
| 374 | [ ! -f ${stdbuilddir}/Makefile ] || $(MAKE) -C ${stdbuilddir} V=1 distclean |
| 375 | [ ! -f ${bfbuilddir}/Makefile ] || $(MAKE) -C ${bfbuilddir} V=1 distclean |
| 376 | [ ! -f ${staticbuilddir}/Makefile ] || $(MAKE) -C ${staticbuilddir} V=1 distclean |
| 377 | rm -rf ${stdbuilddir} ${bfbuilddir} ${staticbuilddir} ${mipsbuilddir} ${mipsbuilddir64} |
| 378 | rm -f debian/*.substvars |
| 379 | dh_clean |
| 380 | |
| 381 | install: cleanup install-std |
| 382 | |
| 383 | # This rule allows to factorize the dh_clean between the 2 install rules |
| 384 | # This must be launched before install-* (if launching them by hand, for |
| 385 | # exemple) or results are unpredictable |
| 386 | cleanup: |
| 387 | dh_testdir |
| 388 | dh_testroot |
| 389 | dh_prep |
| 390 | |
| 391 | install-std: DH_OPTIONS= |
| 392 | install-std: build |
| 393 | dh_testdir |
| 394 | dh_testroot |
| 395 | dh_installdirs |
| 396 | |
| 397 | mkdir -p ${tmpdir}/sbin |
| 398 | $(MAKE) -C ${stdbuilddir} V=1 install DESTDIR=${tmpdir} \ |
| 399 | INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true |
| 400 | # static libs and .h files |
| 401 | $(MAKE) -C ${stdbuilddir} V=1 install-libs DESTDIR=${tmpdir} LDCONFIG=true |
| 402 | |
| 403 | ifneq ($(BUILD_E2FSCK_STATIC),no) |
| 404 | # statically-linked fsck |
| 405 | ${INSTALL_PROGRAM} $(E2FSCK_STATIC) ${tmpdir}/sbin |
| 406 | cp ${mandir}/man8/e2fsck.8 ${mandir}/man8/e2fsck.static.8 |
| 407 | endif |
| 408 | |
| 409 | # remove static quota library for now |
| 410 | rm ${tmpdir}/usr/include/quota/mkquota.h |
| 411 | find ${tmpdir} -name quota.pc -o -name libquota.a | xargs rm |
| 412 | |
| 413 | ifeq ($(DEB_BUILD_GNU_SYSTEM), gnu) |
| 414 | ${INSTALL} -m 0644 misc/mke2fs-hurd.conf ${tmpdir}/etc/mke2fs.conf |
| 415 | endif |
| 416 | |
| 417 | dh_movefiles |
| 418 | test -z "`find ${tmpdir} -type f`" |
| 419 | |
| 420 | # specially-built MIPS libs |
| 421 | ifneq ($(ismips),) |
| 422 | $(INSTALL) -p -m 0644 ${mipsbuilddir}/lib/libext2fs.a \ |
| 423 | ${debdir}/e2fslibs-dev/usr/lib/libext2fs-nopic.a |
| 424 | $(INSTALL) -p -m 0644 ${mipsbuilddir64}/lib/libext2fs.a \ |
| 425 | ${debdir}/e2fslibs-dev/usr/lib/lib64ext2fs-nopic.a |
| 426 | endif |
| 427 | |
| 428 | install-udeb: DH_OPTIONS= |
| 429 | install-udeb: build |
| 430 | dh_testdir |
| 431 | dh_testroot |
| 432 | |
| 433 | $(MAKE) -C ${bfbuilddir} V=1 install-shlibs-libs-recursive DESTDIR=${udebdir} \ |
| 434 | INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true |
| 435 | $(MAKE) -C ${bfbuilddir}/e2fsck V=1 install DESTDIR=${udebdir} \ |
| 436 | INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true |
| 437 | $(MAKE) -C ${bfbuilddir}/misc V=1 install DESTDIR=${udebdir} \ |
| 438 | INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true |
| 439 | $(MAKE) -C ${bfbuilddir}/resize V=1 install DESTDIR=${udebdir} \ |
| 440 | INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true |
| 441 | |
| 442 | rm -rf ${udebdir}/usr |
| 443 | find ${udebdir}/sbin -type f -a ! -name e2fsck \ |
| 444 | -a ! -name mke2fs -a ! -name tune2fs \ |
| 445 | -a ! -name resize2fs -a ! -name badblocks -print | xargs rm |
| 446 | |
| 447 | (cd ${udebdir}/sbin; ln -sf e2fsck fsck.ext2 ; \ |
| 448 | ln -sf e2fsck fsck.ext3 ; ln -sf e2fsck fsck.ext4 ; \ |
| 449 | ln -sf mke2fs mkfs.ext2 ; ln -sf mke2fs mkfs.ext3 ; \ |
| 450 | ln -sf mke2fs mkfs.ext4) |
| 451 | |
| 452 | ifneq ($(UTIL_LINUX_NG),yes) |
| 453 | mkdir -p ${blkidudebdir}/lib |
| 454 | mv ${udebdir}/lib/libblkid.* ${blkidudebdir}/lib |
| 455 | |
| 456 | mkdir -p ${uuidudebdir}/lib |
| 457 | mv ${udebdir}/lib/libuuid.* ${uuidudebdir}/lib |
| 458 | endif |
| 459 | |
| 460 | binary-indep: |
| 461 | # no arch-independant debs. |
| 462 | |
| 463 | binary-arch: DH_OPTIONS= -a |
| 464 | binary-arch: install install-udeb |
| 465 | dh_testdir |
| 466 | dh_testroot |
| 467 | |
| 468 | # lintian overrides |
| 469 | for i in $$(cd debian && echo *.lintian-overrides); do \ |
| 470 | pkg=$${i%.lintian-overrides} ;\ |
| 471 | if test "$${pkg}" != source ; then \ |
| 472 | $(INSTALL) -m 0644 -D -p debian/$$i ${debdir}/$${pkg}/usr/share/lintian/overrides/$${pkg} ;\ |
| 473 | fi ;\ |
| 474 | done |
| 475 | |
| 476 | # symlinks to prepare dh_installdocs run |
| 477 | |
| 478 | ifneq ($(UTIL_LINUX_NG),yes) |
| 479 | mkdir -p ${debdir}/libblkid${BLKID_SOVERSION}/usr/share/doc/libblkid${BLKID_SOVERSION} |
| 480 | mkdir -p ${debdir}/libblkid-dev/usr/share/doc |
| 481 | ln -sf libblkid${BLKID_SOVERSION} ${debdir}/libblkid-dev/usr/share/doc/libblkid-dev |
| 482 | endif |
| 483 | |
| 484 | mkdir -p ${debdir}/libss${SS_SOVERSION}/usr/share/doc/libss${SS_SOVERSION} |
| 485 | mkdir -p ${debdir}/ss-dev/usr/share/doc |
| 486 | ln -sf libss${SS_SOVERSION} ${debdir}/ss-dev/usr/share/doc/ss-dev |
| 487 | |
| 488 | mkdir -p ${debdir}/libcomerr${COMERR_SOVERSION}/usr/share/doc/libcomerr${COMERR_SOVERSION} |
| 489 | mkdir -p ${debdir}/comerr-dev/usr/share/doc |
| 490 | ln -sf libcomerr${COMERR_SOVERSION} ${debdir}/comerr-dev/usr/share/doc/comerr-dev |
| 491 | |
| 492 | ifneq ($(UTIL_LINUX_NG),yes) |
| 493 | mkdir -p ${debdir}/libuuid${UUID_SOVERSION}/usr/share/doc/libuuid${UUID_SOVERSION} |
| 494 | mkdir -p ${debdir}/uuid-dev/usr/share/doc |
| 495 | # ln -sf libuuid${UUID_SOVERSION} ${debdir}/uuid-dev/usr/share/doc/uuid-dev |
| 496 | endif |
| 497 | |
| 498 | mkdir -p ${debdir}/e2fslibs/usr/share/doc/e2fslibs |
| 499 | mkdir -p ${debdir}/e2fslibs-dev/usr/share/doc |
| 500 | ln -sf e2fslibs ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs-dev |
| 501 | |
| 502 | ifneq ($(UTIL_LINUX_NG),yes) |
| 503 | $(INSTALL) -p -m 0644 debian/libblkid.copyright \ |
| 504 | ${debdir}/libblkid${BLKID_SOVERSION}/usr/share/doc/libblkid${BLKID_SOVERSION}/copyright |
| 505 | endif |
| 506 | |
| 507 | dh_installdocs -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb |
| 508 | |
| 509 | # HTML docs |
| 510 | $(INSTALL) -d ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs/html-info/ |
| 511 | $(INSTALL) -p -m 0644 ${stdbuilddir}/doc/*.html \ |
| 512 | ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs/html-info/ |
| 513 | $(INSTALL) -d ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/html-info/ |
| 514 | $(INSTALL) -p -m 0644 ${stdbuilddir}/lib/et/*.html \ |
| 515 | ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/html-info/ |
| 516 | |
| 517 | # texinfo docs |
| 518 | mkdir -p ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION} |
| 519 | $(INSTALL) -p -m 0644 ${topdir}/doc/libext2fs.texinfo \ |
| 520 | ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs/libext2fs.texi |
| 521 | $(INSTALL) -p -m 0644 ${topdir}/lib/et/com_err.texinfo \ |
| 522 | ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/com_err.texi |
| 523 | |
| 524 | $(INSTALL) -d ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/examples |
| 525 | $(INSTALL) -p -m 0644 lib/ss/ss_err.et \ |
| 526 | ${stdbuilddir}/lib/ext2fs/ext2_err.et \ |
| 527 | ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/examples |
| 528 | $(INSTALL) -d ${debdir}/ss-dev/usr/share/doc/libss${SS_SOVERSION}/examples |
| 529 | $(INSTALL) -p -m 0644 debugfs/debug_cmds.ct \ |
| 530 | ${debdir}/ss-dev/usr/share/doc/libss${SS_SOVERSION}/examples |
| 531 | |
| 532 | dh_installinfo -pcomerr-dev ${stdbuilddir}/lib/et/com_err.info |
| 533 | dh_installinfo -pe2fslibs-dev ${stdbuilddir}/doc/libext2fs.info |
| 534 | |
| 535 | DH_OPTIONS= dh_installchangelogs -pe2fsprogs \ |
| 536 | -plibcomerr${COMERR_SOVERSION} \ |
| 537 | -plibss${SS_SOVERSION} \ |
| 538 | -pe2fslibs \ |
| 539 | -pe2fsprogs-dbg -pe2fslibs-dbg \ |
| 540 | -plibcomerr2-dbg -plibss2-dbg |
| 541 | ifneq ($(BUILD_E2FSCK_STATIC),no) |
| 542 | DH_OPTIONS= dh_installchangelogs -pe2fsck-static |
| 543 | endif |
| 544 | ifneq ($(UTIL_LINUX_NG),yes) |
| 545 | DH_OPTIONS= dh_installchangelogs -plibuuid${UUID_SOVERSION} \ |
| 546 | -puuid-dev -puuid-runtime -puuid-runtime-dbg -plibuuid1-dbg \ |
| 547 | -plibblkid${BLKID_SOVERSION} -plibblkid1-dbg |
| 548 | endif |
| 549 | |
| 550 | dh_fixperms |
| 551 | ifneq ($(ismips),) |
| 552 | dh_strip -k -Xlib64ext2fs-nopic.a |
| 553 | else |
| 554 | dh_strip -k |
| 555 | endif |
| 556 | |
| 557 | # debug package stuff |
| 558 | rm -rf ${udebdir}/usr |
| 559 | ifneq ($(UTIL_LINUX_NG),yes) |
| 560 | rm -rf ${blkidudebdir}/usr |
| 561 | rm -rf ${uuidudebdir}/usr |
| 562 | endif |
| 563 | |
| 564 | ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) |
| 565 | mkdir -p ${debugdir}/$(USRLIB) |
| 566 | mv ${maindir}/usr/lib/debug ${debugdir}/$(USRLIB) |
| 567 | rm -rf ${maindir}/usr/lib/debug |
| 568 | |
| 569 | ifneq ($(BUILD_E2FSCK_STATIC),no) |
| 570 | mv ${e2fsckstaticdir}/usr/lib/debug/sbin/* \ |
| 571 | ${debugdir}/$(USRLIB)/debug |
| 572 | rm -rf ${e2fsckstaticdir}/usr/lib |
| 573 | endif |
| 574 | |
| 575 | ifneq ($(UTIL_LINUX_NG),yes) |
| 576 | mkdir -p ${uuidruntimedbgdir}/$(USRLIB) |
| 577 | mv ${uuidruntimedir}/usr/lib/debug ${uuidruntimedbgdir}/$(USRLIB) |
| 578 | rmdir ${uuidruntimedir}/usr/lib |
| 579 | endif |
| 580 | |
| 581 | mkdir -p ${libext2dbgdir}/$(USRLIB) |
| 582 | mv ${libext2dir}/usr/lib/debug ${libext2dbgdir}/$(USRLIB) |
| 583 | rmdir ${libext2dir}/usr/lib |
| 584 | |
| 585 | mkdir -p ${libcomerrdbgdir}/$(USRLIB) |
| 586 | mv ${libcomerrdir}/usr/lib/debug ${libcomerrdbgdir}/$(USRLIB) |
| 587 | rmdir ${libcomerrdir}/usr/lib |
| 588 | |
| 589 | mkdir -p ${libssdbgdir}/$(USRLIB) |
| 590 | mv ${libssdir}/usr/lib/debug ${libssdbgdir}/$(USRLIB) |
| 591 | rmdir ${libssdir}/usr/lib |
| 592 | |
| 593 | ifneq ($(UTIL_LINUX_NG),yes) |
| 594 | mkdir -p ${libuuiddbgdir}/$(USRLIB) |
| 595 | mv ${libuuiddir}/usr/lib/debug ${libuuiddbgdir}/$(USRLIB) |
| 596 | rmdir ${libuuiddir}/usr/lib |
| 597 | |
| 598 | mkdir -p ${libblkiddbgdir}/$(USRLIB) |
| 599 | mv ${libblkiddir}/usr/lib/debug ${libblkiddbgdir}/$(USRLIB) |
| 600 | rmdir ${libblkiddir}/usr/lib |
| 601 | endif |
| 602 | endif |
| 603 | |
| 604 | # dpkg symbol handling |
| 605 | ifneq (,$(findstring update-symbols,$(DEB_BUILD_OPTIONS))) |
| 606 | SYMBOL_LIBS := e2fslibs libcomerr2 libss2 |
| 607 | ifneq ($(UTIL_LINUX_NG),yes) |
| 608 | SYMBOL_LIBS += libblkid1 libuuid1 |
| 609 | endif |
| 610 | for i in $(SYMBOL_LIBS); \ |
| 611 | do \ |
| 612 | echo "Generating symbols for $$i..."; \ |
| 613 | dpkg-gensymbols -p$$i -Pdebian/$$i > debian/$$i.tmp-patch; \ |
| 614 | cat debian/$$i.tmp-patch; \ |
| 615 | patch debian/$$i.symbols < debian/$$i.tmp-patch; \ |
| 616 | /bin/rm debian/$$i.tmp-patch; \ |
| 617 | done |
| 618 | endif |
| 619 | |
| 620 | for i in e2fsprogs e2fsprogs-dbg e2fslibs e2fslibs-dbg; do \ |
| 621 | $(INSTALL) -p -m 0644 debian/copyright \ |
| 622 | ${debdir}/$$i/usr/share/doc/$$i/copyright; \ |
| 623 | done |
| 624 | |
| 625 | ifneq ($(UTIL_LINUX_NG),yes) |
| 626 | $(INSTALL) -p -m 0644 debian/uuid-runtime.copyright \ |
| 627 | ${uuidruntimedbgdir}/usr/share/doc/uuid-runtime-dbg/copyright |
| 628 | endif |
| 629 | |
| 630 | $(INSTALL) -p -m 0644 debian/libcomerr2.copyright \ |
| 631 | ${libcomerrdbgdir}/usr/share/doc/libcomerr2-dbg/copyright |
| 632 | |
| 633 | $(INSTALL) -p -m 0644 debian/libss2.copyright \ |
| 634 | ${libssdbgdir}/usr/share/doc/libss2-dbg/copyright |
| 635 | |
| 636 | ifneq ($(UTIL_LINUX_NG),yes) |
| 637 | $(INSTALL) -p -m 0644 debian/libblkid.copyright \ |
| 638 | ${libblkiddbgdir}/usr/share/doc/libblkid1-dbg/copyright |
| 639 | |
| 640 | $(INSTALL) -p -m 0644 debian/libuuid1.copyright \ |
| 641 | ${libuuiddbgdir}/usr/share/doc/libuuid1-dbg/copyright |
| 642 | endif |
| 643 | |
| 644 | dh_compress |
| 645 | |
| 646 | dh_makeshlibs -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb |
| 647 | dh_makeshlibs --add-udeb=e2fsprogs-udeb -plibcomerr${COMERR_SOVERSION} \ |
| 648 | -V 'libcomerr2 (>= 1.33-3)' |
| 649 | ifneq ($(UTIL_LINUX_NG),yes) |
| 650 | dh_makeshlibs -plibblkid${BLKID_SOVERSION} -V 'libblkid1 (>= 1.39-1)' |
| 651 | echo "udeb: libblkid 1 libblkid1-udeb" >> \ |
| 652 | debian/libblkid1/DEBIAN/shlibs |
| 653 | echo "udeb: libuuid 1 libuuid1-udeb" >> debian/libuuid1/DEBIAN/shlibs |
| 654 | endif |
| 655 | |
| 656 | dh_installdeb |
| 657 | dh_shlibdeps -l${stdbuilddir}/lib |
| 658 | dh_shlibdeps -pe2fsprogs -l${stdbuilddir}/lib \ |
| 659 | -u"-Ldebian/e2fsprogs.shlibs.local" |
| 660 | dh_shlibdeps -pe2fsprogs-udeb -l${stdbuilddir}/lib \ |
| 661 | -u"-Ldebian/e2fsprogs-udeb.shlibs.local" |
| 662 | |
| 663 | dh_gencontrol -Ncomerr-dev -Nss-dev -Nuuid-dev \ |
| 664 | -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb |
| 665 | DH_OPTIONS= dh_gencontrol -pcomerr-dev \ |
| 666 | -u '-v${COMERR_VERSION}-${MAIN_VERSION} -VmainBinary=${MAIN_VERSION}' |
| 667 | DH_OPTIONS= dh_gencontrol -pss-dev \ |
| 668 | -u '-v${SS_VERSION}-${MAIN_VERSION} -VmainBinary=${MAIN_VERSION}' |
| 669 | ifneq ($(UTIL_LINUX_NG),yes) |
| 670 | DH_OPTIONS= dh_gencontrol -puuid-dev \ |
| 671 | -u '-v${UUID_VERSION}-${MAIN_VERSION} -VmainBinary=${MAIN_VERSION}' |
| 672 | endif |
| 673 | dh_gencontrol -pe2fsprogs-udeb -- -fdebian/files~ |
| 674 | ifneq ($(UTIL_LINUX_NG),yes) |
| 675 | dh_gencontrol -plibblkid1-udeb -- -fdebian/files~ |
| 676 | dh_gencontrol -plibuuid1-udeb -- -fdebian/files~ |
| 677 | endif |
| 678 | |
| 679 | dpkg-distaddfile $(UDEB_NAME) debian-installer $(UDEB_PRIORITY) |
| 680 | ifneq ($(UTIL_LINUX_NG),yes) |
| 681 | dpkg-distaddfile $(BLKID_UDEB_NAME) debian-installer $(BLKID_UDEB_PRIORITY) |
| 682 | dpkg-distaddfile $(UUID_UDEB_NAME) debian-installer $(UUID_UDEB_PRIORITY) |
| 683 | endif |
| 684 | dh_md5sums -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb |
| 685 | dh_builddeb -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb |
| 686 | dh_builddeb -pe2fsprogs-udeb --filename=$(UDEB_NAME) |
| 687 | ifneq ($(UTIL_LINUX_NG),yes) |
| 688 | dh_builddeb -plibblkid1-udeb --filename=$(BLKID_UDEB_NAME) |
| 689 | dh_builddeb -plibuuid1-udeb --filename=$(UUID_UDEB_NAME) |
| 690 | endif |
| 691 | |
| 692 | binary: binary-indep binary-arch |
| 693 | |
| 694 | .PHONY: binary binary-arch binary-indep clean checkroot mrproper \ |
| 695 | debug_flags debian-files |
| 696 | |
| 697 | debug_flags: |
| 698 | @echo CFLAGS is $(CFLAGS) |
| 699 | @echo LDFLAGS is $(LDFLAGS) |
| 700 | @echo CPPFLAGS is $(CPPFLAGS) |