]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blob - debian/rules
Merge tag 'xfsprogs-fixes-6.6_2024-01-11' of https://git.kernel.org/pub/scm/linux...
[thirdparty/xfsprogs-dev.git] / debian / rules
1 #!/usr/bin/make -f
2
3 export DH_VERBOSE=1
4
5 ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
6 NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
7 PMAKEFLAGS += -j$(NUMJOBS)
8 endif
9
10 package = xfsprogs
11 develop = xfslibs-dev
12 bootpkg = xfsprogs-udeb
13
14 DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
15 DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
16 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
17
18 version = $(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2 | cut -d '-' -f 1)
19 target ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
20 udebpkg = $(bootpkg)_$(version)_$(target).udeb
21
22 dirme = debian/$(package)
23 dirdev = debian/$(develop)
24 dirdi = debian/$(bootpkg)
25 pkgme = DIST_ROOT=`pwd`/$(dirme); export DIST_ROOT;
26 pkgdev = DIST_ROOT=`pwd`/$(dirdev); export DIST_ROOT;
27 pkgdi = DIST_ROOT=`pwd`/$(dirdi); export DIST_ROOT;
28 stdenv = @GZIP=-q; export GZIP;
29
30 configure_options = \
31 --build=$(DEB_BUILD_GNU_TYPE) \
32 --with-multiarch=$(DEB_HOST_MULTIARCH) \
33 --host=$(DEB_HOST_GNU_TYPE) \
34 --disable-ubsan \
35 --disable-addrsan \
36 --disable-threadsan \
37 --enable-lto
38
39 options = export DEBUG=-DNDEBUG DISTRIBUTION=debian \
40 INSTALL_USER=root INSTALL_GROUP=root \
41 LOCAL_CONFIGURE_OPTIONS="$(configure_options) --enable-editline=yes --enable-blkid=yes" ;
42 diopts = $(options) \
43 export OPTIMIZER=-Os LOCAL_CONFIGURE_OPTIONS="$(configure_options) --enable-gettext=no" ;
44 checkdir = test -f debian/rules
45
46 build: build-arch build-indep
47 build-arch: built
48 build-indep: built
49 built: dibuild config
50 @echo "== dpkg-buildpackage: build" 1>&2
51 $(MAKE) $(PMAKEFLAGS) default
52 touch built
53
54 config: .gitcensus
55 .gitcensus:
56 @echo "== dpkg-buildpackage: configure" 1>&2
57 $(checkdir)
58 AUTOHEADER=/bin/true dh_autoreconf
59 dh_update_autotools_config
60 $(options) $(MAKE) $(PMAKEFLAGS) include/platform_defs.h
61 cp -f include/install-sh .
62 touch .gitcensus
63
64 dibuild:
65 $(checkdir)
66 @echo "== dpkg-buildpackage: installer" 1>&2
67 if [ ! -f mkfs/mkfs.xfs-$(bootpkg) ]; then \
68 $(diopts) $(MAKE) include/platform_defs.h; \
69 mkdir -p include/xfs; \
70 for dir in include libxfs; do \
71 $(MAKE) $(PMAKEFLAGS) -C $$dir NODEP=1 install-headers; \
72 done; \
73 for dir in include libxfs libxcmd libfrog mkfs; do \
74 $(MAKE) $(PMAKEFLAGS) $$dir; \
75 done; \
76 mv mkfs/mkfs.xfs mkfs/mkfs.xfs-$(bootpkg); \
77 $(MAKE) distclean; \
78 fi
79
80 clean:
81 @echo "== dpkg-buildpackage: clean" 1>&2
82 $(checkdir)
83 -rm -f built .gitcensus mkfs/mkfs.xfs-$(bootpkg)
84 $(MAKE) distclean
85 -rm -rf $(dirme) $(dirdev) $(dirdi)
86 -rm -f debian/*substvars debian/files* debian/*.debhelper
87 dh_autoreconf_clean
88 dh_clean
89
90 binary-indep:
91
92 binary-arch: checkroot built
93 @echo "== dpkg-buildpackage: binary-arch" 1>&2
94 $(checkdir)
95 -rm -rf $(dirme) $(dirdev) $(dirdi)
96 $(pkgme) $(MAKE) -C . install
97 $(pkgdev) $(MAKE) -C . install-dev
98 $(pkgdi) $(MAKE) -C debian install-d-i
99 $(pkgme) $(MAKE) dist
100 install -D -m 0755 debian/local/initramfs.hook debian/xfsprogs/usr/share/initramfs-tools/hooks/xfs
101 rmdir debian/xfslibs-dev/usr/share/doc/xfsprogs
102 rm -f debian/xfslibs-dev/lib/$(DEB_HOST_MULTIARCH)/libhandle.la
103 rm -f debian/xfslibs-dev/lib/$(DEB_HOST_MULTIARCH)/libhandle.a
104 rm -fr debian/xfslibs-dev/usr/lib
105 dh_installdocs -XCHANGES
106 dh_installchangelogs
107 dh_strip
108 dh_compress
109 dh_fixperms
110 dh_makeshlibs
111 dh_installdeb
112 dh_shlibdeps
113 dh_gencontrol
114 dh_md5sums
115 dh_builddeb
116
117 binary: binary-indep binary-arch
118
119 checkroot:
120 test 0 -eq `id -u`
121
122 .PHONY: binary binary-arch binary-indep clean checkroot