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
|