183 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			183 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
#! /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
 |