1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
  
     | 
    
      #!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
export DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
  confflags += --build $(DEB_HOST_GNU_TYPE)
else
  confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif
CRYPTSETUP_UDEB=cryptsetup-udeb
UDEBNAME=$(CRYPTSETUP_UDEB)_$(DEBVERSION)_$(shell dpkg --print-architecture).udeb
# Include dpatch stuff.
include /usr/share/dpatch/dpatch.make
config.status: configure.in patch
	dh_testdir
	find -xtype f ! -name manifest > manifest
	# mini autogen.sh
	rm -f ltmain.sh
	cp /usr/share/libtool/ltmain.sh ltmain.sh
	libtoolize --force --copy
	aclocal-1.9
	autoheader
	automake-1.9 --add-missing --gnu
	autoconf
	
	./configure $(confflags) \
		--host=$(DEB_HOST_GNU_TYPE) \
		--build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=/usr \
		--sbindir=/sbin \
		--mandir=/usr/share/man
		#--enable-static \
	
	find -xtype f > manifest.new
	diff manifest manifest.new | grep '>' | cut -b3- > config.mess
build: build-stamp
build-stamp: config.status
	dh_testdir
	asciidoc -d manpage -b docbook debian/crypttab.5.txt
	sed -i 's/<emphasis role="strong">/<emphasis role="bold">/g' debian/crypttab.5.xml
	xsltproc -o debian/crypttab.5 /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
		debian/crypttab.5.xml
	pod2man --section=8 --center="Administrative commands" --release="" debian/scripts/luksformat \
		debian/luksformat.8
	$(MAKE)
	# cannot depend on libraries in /usr !
	gcc lib/.libs/*.o src/*.o luks/.libs/*.o -o src/cryptsetup.static \
		-lpopt -ldevmapper -luuid /usr/lib/libgcrypt.a \
		/usr/lib/libgpg-error.a
	touch build-stamp
clean: clean-patched unpatch
clean-patched:
	dh_testdir
	dh_testroot
	rm -f build-stamp 
	if test -f Makefile; then $(MAKE) clean; fi
	if test -f config.mess; then rm -f `cat config.mess`; fi
	rm -f debian/crypttab.5 debian/crypttab.5.xml debian/luksformat.8
	rm -f config.mess
	rm -f autom4te.cache 
	rm -f src/cryptsetup.static
	dh_clean 
install: build
	dh_testdir
	dh_testroot
	dh_clean -a -k
	dh_installdirs
	mkdir -p $(CURDIR)/debian/cryptsetup-udeb/
	$(MAKE) DESTDIR=$(CURDIR)/debian/cryptsetup install
	cp src/cryptsetup.static $(CURDIR)/debian/cryptsetup/sbin/cryptsetup
	install -m 0644 debian/cryptdisks.functions $(CURDIR)/debian/cryptsetup/lib/cryptsetup/
	install -m 0755 debian/checks/* $(CURDIR)/debian/cryptsetup/lib/cryptsetup/checks/
	install -m 0755 debian/scripts/luksformat $(CURDIR)/debian/cryptsetup/usr/sbin/
	install -m 0755 debian/scripts/decrypt_* $(CURDIR)/debian/cryptsetup/lib/cryptsetup/scripts/
	install -m 0644 debian/cryptsetup.lintian-override \
		$(CURDIR)/debian/cryptsetup/usr/share/lintian/overrides/cryptsetup
	install -m 0755 debian/initramfs-cryptroot-hook \
		$(CURDIR)/debian/cryptsetup/usr/share/initramfs-tools/hooks/cryptroot
	install -m 0755 debian/initramfs-cryptroot-script \
		$(CURDIR)/debian/cryptsetup/usr/share/initramfs-tools/scripts/local-top/cryptroot
	rmdir $(CURDIR)/debian/cryptsetup/usr/lib/cryptsetup
binary-indep: build install
# We have nothing to do by default.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs ChangeLog
	dh_installdocs
	dh_installexamples debian/scripts/gen-ssl-key
	dh_installexamples debian/scripts/gen-old-ssl-key
	dh_installinit -a --no-start --name=cryptdisks-early --update-rcd-params="start 26 S . start 59 0 6 ."
	dh_installinit -a --no-start --name=cryptdisks --update-rcd-params="start 28 S . start 48 0 6 ."
	cp -a $(CURDIR)/debian/cryptsetup/etc $(CURDIR)/debian/cryptsetup-udeb/
	cp -a $(CURDIR)/debian/cryptsetup/lib $(CURDIR)/debian/cryptsetup-udeb/
	cp -a $(CURDIR)/debian/cryptsetup/sbin $(CURDIR)/debian/cryptsetup-udeb/
#	dh_install
	dh_installman debian/crypttab.5 debian/luksformat.8
	dh_link -a
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	dh_makeshlibs -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums
	dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: build clean clean-patched install binary-indep binary-arch binary patch unpatch
 
     |