File: rules

package info (click to toggle)
zsh-beta 4.1.0-dev-4-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 10,064 kB
  • ctags: 6,159
  • sloc: ansic: 73,617; sh: 4,600; makefile: 630; perl: 623; awk: 293; sed: 16
file content (185 lines) | stat: -rwxr-xr-x 7,877 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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
#!/usr/bin/make -f
SHELL=/bin/bash
SHAREDIR=/usr/share
CFLAGS="-O2 -Wall"

package=zsh-beta

CONFIGFLAGS=--prefix=/usr --program-suffix=-beta --mandir=${SHAREDIR}/man --infodir=${SHAREDIR}/info --enable-maildir-support --enable-max-jobtable-size=256 --enable-etcdir=/etc/${package} --enable-function-subdirs --enable-site-fndir=/usr/local/share/${package}/site-functions --with-curses-terminfo # --enable-fndir=/usr/share/${package}/functions

STATICFLAGS=--disable-dynamic --enable-ldflags=-static

ifneq (,$(findstring $(DEB_BUILD_OPTIONS),debug))
CFLAGS += -g
CONFIGFLAGS += --enable-zsh-debug --enable-zsh-mem-debug --enable-zsh-mem-warning --enable-zsh-secure-free --enable-zsh-hash-debug
else
INSTALL_FLAGS=-s
endif

export DH_OPTIONS

build: stamp-configure
	$(checkdir)
	touch stamp-h.in
	cd obj && make

	touch build

build-static: stamp-configure-static
	$(checkdir)
	cd obj-static && make

	touch build-static

build-debug: DEB_BUILD_OPTIONS+=debug
build-debug: build

stamp-configure:
	$(checkdir)
	mkdir obj
	cd obj && ../configure ${CONFIGFLAGS}
	touch stamp-configure

stamp-configure-static:
	$(checkdir)
	mkdir obj-static
	cd obj-static && ../configure ${CONFIGFLAGS} ${STATICFLAGS}
	cp debian/static.conf obj-static/Src/mymods.conf
	touch stamp-configure-static

clean:
	$(checkdir)
	-rm -f build build-static
	-cd obj && make distclean
	-cd obj-static && make distclean
	-rm -f `find . -name "*~"`
	-rm -rf debian/tmp debian/tmp-doc debian/tmp-static debian/files* core debian/substvars stamp-configure stamp-configure-static config.cache obj obj-static

binary-indep:	checkroot build
	$(checkdir)
	-rm -rf debian/tmp-doc
	install -d debian/tmp-doc
	cd debian/tmp-doc && install -d `cat ../doc.dirs` DEBIAN

	-cd obj && make install.info DESTDIR=`pwd`/../debian/tmp-doc
	gzip -9frq debian/tmp-doc${SHAREDIR}/info/*
	cd obj && make install.html DESTDIR=`pwd`/../debian/tmp-doc htmldir=${SHAREDIR}/doc/${package}-doc/html

	install -m 755 debian/doc.prerm debian/tmp-doc/DEBIAN/prerm
	install -m 755 debian/doc.preinst debian/tmp-doc/DEBIAN/preinst
	install -m 755 debian/doc.postinst debian/tmp-doc/DEBIAN/postinst
	install -m 644 debian/copyright debian/tmp-doc/usr/share/doc/${package}-doc/copyright
	install -o root -g root -p -m644 debian/changelog debian/tmp-doc/usr/share/doc/${package}-doc/changelog.Debian
	gzip -9frq debian/tmp-doc/usr/share/doc/${package}-doc/changelog.Debian
	install -p -m 644 debian/${package}.doc-base debian/tmp-doc/usr/share/doc-base/${package}

	dpkg-gencontrol -isp -p${package}-doc -Pdebian/tmp-doc
	chown -R root.root debian/tmp-doc
	chmod -R go=rX debian/tmp-doc
	dpkg --build debian/tmp-doc ..

binary-arch:	checkroot build
	$(checkdir)

	-rm -rf debian/tmp
	install -d debian/tmp
	cd debian/tmp && install -d `cat ../dirs` DEBIAN

	cd obj && make install.man DESTDIR=`pwd`/../debian/tmp
#	man -l -7 Doc/zshbuiltins.1 | colcrt - | sed -e 's//{+|-}/' | ( \
	nroff -mandoc -Tascii Doc/zshbuiltins.1 | colcrt - | sed -e 's//{+|-}/' | ( \
     cd debian/tmp${SHAREDIR}/${package}/help && perl ../../../../../../Util/helpfiles )
	perl -pi -e \
	  's/zsh(misc|expn|param|options|builtins|zle|compwid|compsys|compctl|modules|ftpsys)/zsh-beta$1/g' \
	    debian/tmp/usr/share/man/man1/*.1

# functions
	install -m 644 Misc/* debian/tmp${SHAREDIR}/doc/${package}/examples/Misc/.
	perl -pi -e 's,#! */bin/zsh,#!/usr/bin/zsh,;s#/usr/local/bin#/usr/bin#;s#/usr/bin/zsh#/usr/bin/zsh-beta#' debian/tmp${SHAREDIR}/doc/${package}/examples/Misc/*
	install -m 644 StartupFiles/* debian/tmp${SHAREDIR}/doc/${package}/examples/StartupFiles/.
	install -m 644 Util/* debian/tmp${SHAREDIR}/doc/${package}/examples/Util/.

	install -m 644 debian/compctl.dpkg debian/jhm.zshrc debian/ssh_completion debian/tmp${SHAREDIR}/doc/${package}/examples/.

	cd obj && make install.bin DESTDIR=`pwd`/../debian/tmp STRIPFLAGS=${INSTALL_FLAGS}
	cd obj && make install.modules DESTDIR=`pwd`/../debian/tmp STRIPFLAGS=${INSTALL_FLAGS}
	cd obj && make install.fns DESTDIR=`pwd`/../debian/tmp

	rm -r debian/tmp/usr/local

	install -m 644 debian/{zlogin,zlogout,zprofile,zshenv,zshrc} debian/tmp/etc/${package}/.
	install -m 755 debian/run-help debian/tmp${SHAREDIR}/${package}/*/functions/.
	perl -pi -e 's,#! */bin/zsh,#!/usr/bin/zsh,;s#/usr/local/bin#/usr/bin#;s#/usr/bin/zsh#/usr/bin/zsh-beta#' `find debian/tmp/usr/share/${package}/*/functions -type f`
	chmod 755 debian/tmp/usr/share/${package}/*/functions/Misc/{checkmail,harden,run-help,zkbd,zcalc}

	cp -a ChangeLog.3.0 ChangeLog-3.1 README META-FAQ Doc/zsh.texi Etc/BUGS Etc/CONTRIBUTORS Etc/FAQ Etc/FEATURES Etc/FTP-README Etc/MACHINES Etc/NEWS Etc/completion-style-guide Etc/zsh-development-guide Functions/README.zftp debian/tmp${SHAREDIR}/doc/${package}/
	cp -a ChangeLog debian/tmp${SHAREDIR}/doc/${package}/changelog
	chmod -R u+rw,go=rX debian/tmp${SHAREDIR}/doc
	install -m 644 -p debian/copyright debian/tmp${SHAREDIR}/doc/${package}/copyright

	install -o root -g root -p -m644 debian/changelog debian/tmp${SHAREDIR}/doc/${package}/changelog.Debian

	install -o root -g root -p -m644 debian/README.Debian debian/tmp${SHAREDIR}/doc/${package}/README.Debian

	install -p -m644 debian/menu debian/tmp/usr/lib/menu/${package}

	chmod 644 `find debian/tmp/usr/share/man -type f` `find debian/tmp/usr/share/doc -type f`
	gzip -9f `find debian/tmp/usr/share/man -type f` `find debian/tmp/usr/share/doc -type f ! -name "copyright"`
	dpkg-shlibdeps -Tdebian/substvars -dDepends debian/tmp/usr/lib/${package}/*/zsh/*.so debian/tmp/usr/bin/*
	dpkg-gencontrol -ldebian/changelog -isp -p${package} -Tdebian/substvars -Pdebian/tmp
	install -p -m755 debian/postinst debian/tmp/DEBIAN/postinst
	install -p -m755 debian/prerm debian/tmp/DEBIAN/prerm
	install -p -m755 debian/postrm debian/tmp/DEBIAN/postrm
	install -p -m644 debian/conffiles debian/tmp/DEBIAN/conffiles

	cd debian/tmp && find * -type f ! -path "etc/zlogin" ! -path "etc/zlogout" ! -path "etc/zprofile" ! -path "etc/zshenv" ! -path "etc/zshrc"  ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums

	chown -R root.root debian/tmp
	chmod -R go=rX debian/tmp

	dpkg --build debian/tmp ..

#	dpkg-gencontrol -isp
#	chown -R root.root debian/tmp
#	chmod -R go=rX debian/tmp
#	dpkg --build debian/tmp ..

define checkdir
	test -f debian/rules
endef

binary-arch-static:	checkroot build-static
	$(checkdir)

	-rm -rf debian/tmp-static
	install -d debian/tmp-static
	cd debian/tmp-static && install -d `cat ../static.dirs` DEBIAN

	install -m 644 debian/lintianoverrides debian/tmp-static/usr/share/lintian/overrides/${package}-static
	install -m 755 debian/static.prerm debian/tmp-static/DEBIAN/prerm
	install -m 755 debian/static.postinst debian/tmp-static/DEBIAN/postinst

	install -o root -g root -p -m644 debian/changelog debian/tmp-static${SHAREDIR}/doc/${package}-static/changelog.Debian

	awk 'BEGIN { print "The following modules are statically-compiled into the static zsh-beta binary:\n"; } /link=static/ { printf "%s (%s %s)\n", substr($$1,6), $$4, $$5; }' obj-static/config.modules >debian/tmp-static${SHAREDIR}/doc/${package}-static/README.Debian

	install -m 644 -p debian/copyright debian/tmp-static${SHAREDIR}/doc/${package}-static/copyright

	install -s obj-static/Src/zsh debian/tmp-static/bin/zsh4-static

	gzip -9f debian/tmp-static/usr/share/doc/${package}-static/changelog.Debian
	cd debian/tmp-static && find * -type f  ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums
	dpkg-gencontrol -ldebian/changelog -isp -p${package}-static -Tdebian/${package}-static.substvars -Pdebian/tmp-static
	chown -R root.root debian/tmp-static
	chmod -R go=rX debian/tmp-static
	dpkg --build debian/tmp-static ..

# Below here is fairly generic really

binary:		binary-indep binary-arch

checkroot:
	$(checkdir)
	test root = "`whoami`"

.PHONY: binary binary-arch binary-indep clean checkroot binary-arch-static