File: rules

package info (click to toggle)
mksh 35.2-3
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 1,104 kB
  • ctags: 1,933
  • sloc: ansic: 20,345; sh: 1,135; perl: 966; makefile: 93
file content (134 lines) | stat: -rwxr-xr-x 3,351 bytes parent folder | download
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
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

CC ?= gcc
CFLAGS = -Wall -g

ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif

# nostrip: we use dh_strip, no action needed
# parallel=n: we cannot guarantee to honour 'n', thus building sequentially

BUILD_ENV:=	CC='${CC}'
BUILD_ENV+=	CFLAGS='${CFLAGS}'
BUILD_ENV+=	CPPFLAGS='${CPPFLAGS} -include /usr/include/bsd/bsd.h'
BUILD_ENV+=	LIBS='-lbsd'

ifeq ($(shell which diet),)
STATIC_ENV:=	CC='${CC}'
STATIC_ENV+=	CFLAGS='-Os -Wall'
STATIC_ENV+=	LDFLAGS='${LDFLAGS} -static'
else
STATIC_ENV:=	CC='diet -v -Os ${CC}'
STATIC_ENV+=	CFLAGS='-Wall'
endif
STATIC_ENV+=	CPPFLAGS='${CPPFLAGS} -DMKSH_SMALL'
STATIC_ENV+=	HAVE_ARC4RANDOM=0
STATIC_ENV+=	HAVE_SETLOCALE_CTYPE=0

build: build-stamp

build-stamp:
	dh_testdir
	-rm -rf builddir staticdir build-stamp mksh-static.1
	mkdir builddir staticdir
	#
	# Dead buildd administrators,
	#
	# if this fails, please install /dev/ptmx et al. in your
	# chroot, i.e. the devices needed by openpty().  Thanks!
	# Note: /dev/tty is required by the regression test too.
	#
	cd builddir && \
	    env ${BUILD_ENV} sh ../Build.sh -Q -r && \
	    if test '!' -e ../manual && test x"$$(uname -s)" = x"GNU"; then \
		./test.sh -v; \
	    else \
		echo >test.wait; \
		script -qc './test.sh -v; x=$?; rm -f test.wait; exit $x'; \
		maxwait=0; \
		while test -e test.wait; do \
			sleep 1; \
			maxwait=$$(expr $$maxwait + 1); \
			test $$maxwait -lt 900 || break; \
		done; \
	    fi
	cd staticdir && \
	    env ${STATIC_ENV} sh ../Build.sh -Q -r && \
	    if test '!' -e ../manual && test x"$$(uname -s)" = x"GNU"; then \
		./test.sh -v; \
	    else \
		echo >test.wait; \
		script -qc './test.sh -v; x=$?; rm -f test.wait; exit $x'; \
		maxwait=0; \
		while test -e test.wait; do \
			sleep 1; \
			maxwait=$$(expr $$maxwait + 1); \
			test $$maxwait -lt 900 || break; \
		done; \
	    fi && \
	    mv mksh mksh-static
	ln -s mksh.1 mksh-static.1
	touch $@

clean:
	dh_testdir
	-rm -rf builddir staticdir build-stamp mksh-static.1
	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs
	dh_installdocs -A copyright
	dh_installexamples dot.mkshrc
	dh_install
	dh_installmenu
	dh_installdebconf
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
#	dh_installcron
#	dh_installinfo
	dh_installman
	mkdir debian/mksh/etc
	mkdir debian/mksh/etc/skel
	install -m 644 dot.mkshrc debian/mksh/etc/skel/.mkshrc
	dh_link
	dh_strip
	dh_compress
	cd debian/mksh/usr/share/man/man1 && ln -sf mksh.1.gz mksh-static.1.gz
	dh_fixperms
#	dh_perl
#	dh_python
#	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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