blob: 57baad625c55fb1aaa777e1ddcd9662fb51f7ebf [file] [log] [blame]
#!/usr/bin/make -f
export DH_VERBOSE=1
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
PMAKEFLAGS += -j$(NUMJOBS)
endif
package = xfsprogs
develop = xfslibs-dev
bootpkg = xfsprogs-udeb
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
version = $(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2 | cut -d '-' -f 1)
target ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
udebpkg = $(bootpkg)_$(version)_$(target).udeb
dirme = debian/$(package)
dirdev = debian/$(develop)
dirdi = debian/$(bootpkg)
pkgme = DIST_ROOT=`pwd`/$(dirme); export DIST_ROOT;
pkgdev = DIST_ROOT=`pwd`/$(dirdev); export DIST_ROOT;
pkgdi = DIST_ROOT=`pwd`/$(dirdi); export DIST_ROOT;
stdenv = @GZIP=-q; export GZIP;
configure_options = \
--build=$(DEB_BUILD_GNU_TYPE) \
--with-multiarch=$(DEB_HOST_MULTIARCH) \
--host=$(DEB_HOST_GNU_TYPE) \
--disable-ubsan \
--disable-addrsan \
--disable-threadsan \
--enable-lto
options = export DEBUG=-DNDEBUG DISTRIBUTION=debian \
INSTALL_USER=root INSTALL_GROUP=root \
LOCAL_CONFIGURE_OPTIONS="$(configure_options) --enable-editline=yes --enable-blkid=yes" ;
diopts = $(options) \
export OPTIMIZER=-Os LOCAL_CONFIGURE_OPTIONS="$(configure_options) --enable-gettext=no" ;
checkdir = test -f debian/rules
build: build-arch build-indep
build-arch: built
build-indep: built
built: dibuild config
@echo "== dpkg-buildpackage: build" 1>&2
$(MAKE) $(PMAKEFLAGS) default
touch built
config: .gitcensus
.gitcensus:
@echo "== dpkg-buildpackage: configure" 1>&2
$(checkdir)
AUTOHEADER=/bin/true dh_autoreconf
dh_update_autotools_config
$(options) $(MAKE) $(PMAKEFLAGS) include/platform_defs.h
cp -f include/install-sh .
touch .gitcensus
dibuild:
$(checkdir)
@echo "== dpkg-buildpackage: installer" 1>&2
if [ ! -f mkfs/mkfs.xfs-$(bootpkg) ]; then \
$(diopts) $(MAKE) include/platform_defs.h; \
mkdir -p include/xfs; \
for dir in include libxfs; do \
$(MAKE) $(PMAKEFLAGS) -C $$dir NODEP=1 install-headers; \
done; \
for dir in include libxfs libxcmd libfrog mkfs; do \
$(MAKE) $(PMAKEFLAGS) $$dir; \
done; \
mv mkfs/mkfs.xfs mkfs/mkfs.xfs-$(bootpkg); \
$(MAKE) distclean; \
fi
clean:
@echo "== dpkg-buildpackage: clean" 1>&2
$(checkdir)
-rm -f built .gitcensus mkfs/mkfs.xfs-$(bootpkg)
$(MAKE) distclean
-rm -rf $(dirme) $(dirdev) $(dirdi)
-rm -f debian/*substvars debian/files* debian/*.debhelper
dh_autoreconf_clean
dh_clean
binary-indep:
binary-arch: checkroot built
@echo "== dpkg-buildpackage: binary-arch" 1>&2
$(checkdir)
-rm -rf $(dirme) $(dirdev) $(dirdi)
$(pkgme) $(MAKE) -C . install
$(pkgdev) $(MAKE) -C . install-dev
$(pkgdi) $(MAKE) -C debian install-d-i
$(pkgme) $(MAKE) dist
install -D -m 0755 debian/local/initramfs.hook debian/xfsprogs/usr/share/initramfs-tools/hooks/xfs
rmdir debian/xfslibs-dev/usr/share/doc/xfsprogs
rm -f debian/xfslibs-dev/lib/$(DEB_HOST_MULTIARCH)/libhandle.la
rm -f debian/xfslibs-dev/lib/$(DEB_HOST_MULTIARCH)/libhandle.a
rm -fr debian/xfslibs-dev/usr/lib
dh_installdocs -XCHANGES
dh_installchangelogs
dh_strip
dh_compress
dh_fixperms
dh_makeshlibs
dh_installsystemd -p xfsprogs --no-enable --no-start --no-restart-after-upgrade --no-stop-on-upgrade
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
checkroot:
test 0 -eq `id -u`
.PHONY: binary binary-arch binary-indep clean checkroot