1 #!/usr/bin/make -f 2 3 #export DH_OPTIONS 4 DEB_HOST_GNU_TYPE ?=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) 5 DEB_BUILD_GNU_TYPE ?=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) 6 7 STRIP =strip 8 ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) 9 STRIP =: nostrip 10 endif 11 12 CFLAGS =-Wall -g 13 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) 14 CFLAGS +=-O0 15 else 16 CFLAGS +=-O2 17 endif 18 19 CONFFLAGS = 20 CC =gcc 21 ifneq (,$(findstring diet,$(DEB_BUILD_OPTIONS))) 22 CONFFLAGS =--disable-zlib 23 CC =diet -v -Os gcc -nostdinc 24 endif 25 26 DIR =$(shell pwd)/debian/dropbear 27 28 patch: deb-checkdir patch-stamp 29 patch-stamp: 30 for i in `ls -1 debian/diff/*.diff || :`; do \ 31 patch -p0 <$$i || exit 1; \ 32 done 33 touch patch-stamp 34 35 config.status: patch-stamp configure 36 CC='$(CC)' \ 37 CFLAGS='$(CFLAGS)'' -DSFTPSERVER_PATH="\"/usr/lib/sftp-server\""' \ 38 ./configure --host='$(DEB_HOST_GNU_TYPE)' \ 39 --build='$(DEB_BUILD_GNU_TYPE)' --prefix=/usr \ 40 --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \ 41 $(CONFFLAGS) 42 43 build: deb-checkdir build-stamp 44 build-stamp: config.status 45 $(MAKE) CC='$(CC)' LD='$(CC)' 46 touch build-stamp 47 48 clean: deb-checkdir deb-checkuid 49 -$(MAKE) distclean 50 test ! -e patch-stamp || \ 51 for i in `ls -1r debian/diff/*.diff || :`; do \ 52 patch -p0 -R <$$i; \ 53 done 54 rm -f patch-stamp build-stamp config.log config.status 55 rm -rf '$(DIR)' 56 rm -f debian/files debian/substvars debian/copyright changelog 57 58 install: deb-checkdir deb-checkuid build-stamp 59 rm -rf '$(DIR)' 60 install -d -m0755 '$(DIR)'/etc/dropbear 61 # programs 62 install -d -m0755 '$(DIR)'/usr/sbin 63 install -m0755 dropbear '$(DIR)'/usr/sbin/dropbear 64 install -d -m0755 '$(DIR)'/usr/bin 65 install -m0755 dbclient '$(DIR)'/usr/bin/dbclient 66 install -m0755 dropbearkey '$(DIR)'/usr/bin/dropbearkey 67 install -d -m0755 '$(DIR)'/usr/lib/dropbear 68 install -m0755 dropbearconvert \ 69 '$(DIR)'/usr/lib/dropbear/dropbearconvert 70 $(STRIP) -R .comment -R .note '$(DIR)'/usr/sbin/* \ 71 '$(DIR)'/usr/bin/* '$(DIR)'/usr/lib/dropbear/* 72 # init and run scripts 73 install -d -m0755 '$(DIR)'/etc/init.d 74 install -m0755 debian/dropbear.init '$(DIR)'/etc/init.d/dropbear 75 install -m0755 debian/service/run '$(DIR)'/etc/dropbear/run 76 install -d -m0755 '$(DIR)'/etc/dropbear/log 77 install -m0755 debian/service/log '$(DIR)'/etc/dropbear/log/run 78 ln -s /var/log/dropbear '$(DIR)'/etc/dropbear/log/main 79 ln -s /var/run/dropbear '$(DIR)'/etc/dropbear/supervise 80 ln -s /var/run/dropbear.log '$(DIR)'/etc/dropbear/log/supervise 81 # man pages 82 install -d -m0755 '$(DIR)'/usr/share/man/man8 83 for i in dropbear.8 dropbearkey.8; do \ 84 install -m644 $$i '$(DIR)'/usr/share/man/man8/ || exit 1; \ 85 done 86 gzip -9 '$(DIR)'/usr/share/man/man8/*.8 87 install -d -m0755 '$(DIR)'/usr/share/man/man1 88 install -m644 dbclient.1 '$(DIR)'/usr/share/man/man1/ 89 gzip -9 '$(DIR)'/usr/share/man/man1/*.1 90 # copyright, changelog 91 cat debian/copyright.in LICENSE >debian/copyright 92 test -r changelog || ln -s CHANGES changelog 93 94 binary-indep: 95 96 binary-arch: install dropbear.deb 97 test '$(CC)' != 'gcc' || \ 98 dpkg-shlibdeps '$(DIR)'/usr/sbin/* '$(DIR)'/usr/bin/* \ 99 '$(DIR)'/usr/lib/dropbear/* 100 dpkg-gencontrol -isp -pdropbear -P'$(DIR)' 101 dpkg -b '$(DIR)' .. 102 103 binary: binary-arch binary-indep 104 105 .PHONY: patch build clean install binary-indep binary-arch binary 106 107 include debian/implicit 108