summaryrefslogtreecommitdiffhomepage
path: root/debian/rules
blob: 30b3a0a850ad9f50c5c175fbf61d24a40b33b8cf (plain)
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
#!/usr/bin/make -f

#export DH_OPTIONS
DEB_HOST_GNU_TYPE ?=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

STRIP =strip
ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
  STRIP =: nostrip
endif

CFLAGS =-Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
  CFLAGS +=-O0
else
  CFLAGS +=-O2
endif

CC =gcc
ifneq (,$(findstring diet,$(DEB_BUILD_OPTIONS)))
  CC =diet -v -Os gcc
endif

DIR=`pwd`/debian/dropbear

patch: deb-checkdir patch-stamp
patch-stamp:
#	no patches for now
#	for i in debian/diff/*.diff; do patch -p0 <$$i || exit 1; done
	touch patch-stamp

config.status: patch-stamp configure
	CFLAGS="$(CFLAGS)"' -DSFTPSERVER_PATH="\"/usr/lib/sftp-server\""' \
	  ./configure --host="$(DEB_HOST_GNU_TYPE)" \
	    --build="$(DEB_BUILD_GNU_TYPE)" --prefix=/usr \
	    --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info

build: deb-checkdir build-stamp
build-stamp: config.status
	$(MAKE) CC="$(CC)" LD="$(CC)"
	touch build-stamp

clean: deb-checkdir deb-checkuid
	-$(MAKE) distclean
#	test ! -e patch-stamp || \
#	  for i in debian/diff/*.diff; do patch -p0 -R <$$i; done
	rm -f patch-stamp build-stamp config.log config.status
	rm -rf "$(DIR)"
	rm -f debian/files debian/substvars debian/copyright changelog

install: deb-checkdir deb-checkuid build-stamp
	rm -rf "$(DIR)"
	install -d -m0755 "$(DIR)"/etc/dropbear
	# programs
	install -d -m0755 "$(DIR)"/usr/sbin
	install -m0755 dropbear "$(DIR)"/usr/sbin/dropbear
	install -d -m0755 "$(DIR)"/usr/bin
	install -m0755 dbclient "$(DIR)"/usr/bin/dbclient
	install -m0755 dropbearkey "$(DIR)"/usr/bin/dropbearkey
	install -d -m0755 "$(DIR)"/usr/lib/dropbear
	install -m0755 dropbearconvert \
	  "$(DIR)"/usr/lib/dropbear/dropbearconvert
	$(STRIP) -R .comment -R .note "$(DIR)"/usr/sbin/* \
	  "$(DIR)"/usr/bin/* "$(DIR)"/usr/lib/dropbear/*
	# init and run scripts
	install -d -m0755 "$(DIR)"/etc/init.d
	install -m0755 debian/dropbear.init "$(DIR)"/etc/init.d/dropbear
	install -m0755 debian/service/run "$(DIR)"/etc/dropbear/run
	install -d -m0755 "$(DIR)"/etc/dropbear/log
	install -m0755 debian/service/log "$(DIR)"/etc/dropbear/log/run
	ln -s /var/log/dropbear "$(DIR)"/etc/dropbear/log/main
	ln -s /var/run/dropbear "$(DIR)"/etc/dropbear/supervise
	ln -s /var/run/dropbear.log "$(DIR)"/etc/dropbear/log/supervise
	# man pages
	install -d -m0755 "$(DIR)"/usr/share/man/man8
	for i in dropbear.8 dropbearkey.8; do \
	  install -m644 $$i "$(DIR)"/usr/share/man/man8/ || exit 1; \
	done
	gzip -9 "$(DIR)"/usr/share/man/man8/*.8
	# copyright, changelog
	cat debian/copyright.in LICENSE >debian/copyright
	ln -s CHANGES changelog

binary-indep:

binary-arch: install dropbear.deb
	test "$(CC)" != 'gcc' || \
	  dpkg-shlibdeps "$(DIR)"/usr/sbin/* "$(DIR)"/usr/bin/* \
	    "$(DIR)"/usr/lib/dropbear/*
	dpkg-gencontrol -isp -pdropbear -P"$(DIR)"
	dpkg -b "$(DIR)" ..

binary: binary-arch binary-indep

.PHONY: patch build clean install binary-indep binary-arch binary

include debian/implicit