#! /usr/bin/make -f # -*- makefile -*- # # Invoke each target with `./debian/rules <target>'. All targets should be # invoked with the package root as the current directory. # # The `binary' target must be run as root, as it needs to install files with # specific ownerships. # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 package = e2fsprogs ARCH = $(shell dpkg --print-architecture) # find the version for the main package, from changelog file MAIN_VERSION = $(shell head -1 debian/changelog | cut '-d ' -f 2 | sed 's/[()]//g') # find versions for libraries going into their own packages, from their Makefile.in's COMERR_VERSION = $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3) COMERR_MAJOR = $(word 1,$(subst ., ,$(COMERR_VERSION))) SS_VERSION = $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3) SS_MAJOR = $(word 1,$(subst ., ,$(SS_VERSION))) topdir = $(shell pwd) debdir = $(topdir)/debian maindir = $(debdir)/tmp builddir = $(topdir)/builddir docdir = $(maindir)/usr/doc/$(package) SUBPACKAGES_DIRS = tmp e2fslibsg e2fslibsg-dev comerr$(COMERR_MAJOR)g comerrg-dev \ ss$(SS_MAJOR)g ssg-dev installdoc = install -m 644 installbin = install -m 755 ifeq ($(ARCH),alpha) CCOPTS = -g -O2 -fsigned-char -DHAVE_NETINET_IN_H LIBC-DEV = libc6.1-dev else CCOPTS = -g -O2 -fsigned-char LIBC-DEV = libc6-dev endif build: configured dh_testdir make -C $(builddir) make -C $(builddir)/misc findsuper cd doc && texi2html -split_chapter libext2fs.texinfo cd lib/et && texi2html -split_chapter -expandinfo com_err.texinfo touch build configured: dh_testdir mkdir -p $(builddir) cd $(builddir) && CFLAGS="$(CFLAGS)" \ ../configure --enable-elf-shlibs --enable-dynamic-e2fsck \ --with-ccopts="$(CCOPTS)" touch configured clean: dh_testdir rm -f build configured install -make -C $(builddir) -i distclean rm -rf $(builddir) rm -f doc/libext2fs_*.html lib/et/com_err_*.html dh_clean binary-indep: build # no arch-independant debs. binary-arch: build dh_testversion 0.56 # == 0.53 + fixes dh_testdir -a dh_testroot -a dh_clean -a -k dh_installdirs -a make -C $(builddir) install DESTDIR=$(maindir) install -m 755 $(builddir)/misc/findsuper $(maindir)/sbin # static libs and .h files make -C $(builddir) install-libs DESTDIR=$(maindir) install -m 644 $(builddir)/lib/ss/ss_err.h $(maindir)/usr/include/ss/ # fix and install compile_et script sed s%$(topdir)/lib/et%/usr/share/comerr% \ <$(builddir)/lib/et/compile_et \ >$(debdir)/comerrg-dev/usr/bin/compile_et chmod 755 $(debdir)/comerrg-dev/usr/bin/compile_et # add support files for compile_et install -m 644 lib/et/et_c.awk lib/et/et_h.awk \ $(debdir)/comerrg-dev/usr/share/comerr/ # fix and install mk_cmds script sed s%$(topdir)/lib/ss%/usr/share/ss% \ <$(builddir)/lib/ss/mk_cmds \ >$(debdir)/ssg-dev/usr/bin/mk_cmds chmod 755 $(debdir)/ssg-dev/usr/bin/mk_cmds # add support files for mk_cmds install -m 644 lib/ss/ct_c.awk lib/ss/ct_c.sed \ $(debdir)/ssg-dev/usr/share/ss/ # docs mkdir -p $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg ln -sf e2fslibsg $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg-dev mkdir -p $(maindir)/usr/doc/e2fslibsg ln -sf e2fslibsg $(maindir)/usr/doc/e2fsprogs mkdir -p $(debdir)/comerrg-dev/usr/doc/comerr$(COMERR_MAJOR)g ln -sf comerr$(COMERR_MAJOR)g $(debdir)/comerrg-dev/usr/doc/comerrg-dev mkdir -p $(debdir)/ssg-dev/usr/doc/ss$(SS_MAJOR)g ln -sf ss$(SS_MAJOR)g $(debdir)/ssg-dev/usr/doc/ssg-dev dh_installdocs -a # HTML docs install -d $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg-dev/html-info/ install -p $(topdir)/doc/libext2fs_*.html \ $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg-dev/html-info/ install -d $(debdir)/comerrg-dev/usr/doc/comerrg-dev/html-info/ install -p $(topdir)/lib/et/com_err_*.html \ $(debdir)/comerrg-dev/usr/doc/comerrg-dev/html-info/ # texinfo docs install -p $(topdir)/doc/libext2fs.texinfo \ $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg/libext2fs.texi install -p $(topdir)/lib/et/com_err.texinfo \ $(debdir)/comerrg-dev/usr/doc/comerr2g/com_err.texi # doc-base support install -d $(debdir)/e2fslibsg-dev/usr/share/doc-base/ install -p -m 644 $(debdir)/libext2fs.docbase \ $(debdir)/e2fslibsg-dev/usr/share/doc-base/libext2fs install -d $(debdir)/comerrg-dev/usr/share/doc-base/ install -p -m 644 $(debdir)/com_err.docbase \ $(debdir)/comerrg-dev/usr/share/doc-base/com_err # examples dh_installexamples -a # dh_installmanpages still makes a mess as of 0.54 (see below dh_movefiles) install -p $(topdir)/lib/et/compile_et.1 $(maindir)/usr/man/man1/ install -d $(maindir)/usr/man/man3/ install -p $(topdir)/lib/et/com_err.3 $(maindir)/usr/man/man3/ ln -s e2fsck.8 $(maindir)/usr/man/man8/fsck.ext2.8 ln -s mke2fs.8 $(maindir)/usr/man/man8/mkfs.ext2.8 dh_movefiles -a # cleanup empty dirs cd $(maindir) && rmdir usr/man/cat? bin lib usr/include/* usr/include \ usr/info usr/lib usr/man/man3 usr/doc/e2fslibsg # dh_installmenu -a # broken + useless in 0.52 # dh_installmanpages -a dh_undocumented -a dh_installchangelogs -pe2fslibsg -pcomerr$(COMERR_MAJOR)g -pss$(SS_MAJOR)g ChangeLog dh_strip -a dh_compress -a dh_fixperms -a echo "libcdev:Depends=$(LIBC-DEV)" > debian/comerrg-dev.substvars echo "libcdev:Depends=$(LIBC-DEV)" > debian/ssg-dev.substvars echo "libcdev:Depends=$(LIBC-DEV)" > debian/e2fslibsg-dev.substvars dh_installdeb -a LD_LIBRARY_PATH=$(builddir)/lib:/lib:/usr/lib \ dh_shlibdeps -a dh_gencontrol -u '-isp' -pe2fsprogs -pe2fslibsg -pe2fslibsg-dev dh_gencontrol -u '-isp' -pcomerr$(COMERR_MAJOR)g -pcomerrg-dev \ -u '-v$(COMERR_VERSION)-$(MAIN_VERSION)' dh_gencontrol -u '-isp' -pss$(SS_MAJOR)g -pssg-dev \ -u '-v$(SS_VERSION)-$(MAIN_VERSION)' dh_makeshlibs -a # dh_du -a dh_md5sums -a dh_builddeb -a binary: binary-indep binary-arch .PHONY: binary binary-arch binary-indep clean checkroot