migration from private to rsa
[external/bash.git] / debian / rules
1 #! /usr/bin/make -f
2 # -*- makefile -*-
3
4 #export DH_VERBOSE=1
5
6 distribution := SLP
7 unexport LANG LC_ALL LC_CTYPE LC_COLLATE LC_TIME LC_NUMERIC LC_MESSAGES
8
9 # architecture dependent variables
10 DEB_BUILD_GNU_TYPE      := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
11 DEB_HOST_ARCH           := $(shell dpkg-architecture -qDEB_HOST_ARCH)
12 DEB_HOST_ARCH_OS        := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
13 DEB_HOST_GNU_CPU        := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
14 DEB_HOST_GNU_SYSTEM     := $(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM)
15 DEB_HOST_GNU_TYPE       := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
16
17 VERSION         := 4.1
18 #PKGVERSION     := $(shell dpkg-parsechangelog \
19 #                       | sed -n '/Version:/s/\(.* \)\(.*\)-2\(.*\)/\2\3/p')
20 #PKGVERSION     := 3.0
21 #dpkg_ctrl_args := -v$(PKGVERSION) -VBinary-Version=$(PKGVERSION)
22
23
24 with_gfdl       = no
25
26 CC      = gcc
27 CFLAGS  = -g -O2 -Wall
28 SHELL   = /bin/bash
29 YACC    = bison -y
30
31 IX      = install -o 0 -g 0
32 ID      = install -o 0 -g 0 -m 644
33
34 # built with installed libreadline?
35 with_installed_rl = no
36
37 debflags =
38
39 p       = bash
40 p_stat  = bash-static
41 p_bins  = bash-builtins
42 p_doc   = bash-doc
43 p_bdb   = bashdb
44
45 d       = debian/$(p)
46 d_stat  = debian/$(p_stat)
47 d_bins  = debian/$(p_bins)
48 d_doc   = debian/$(p_doc)
49 d_bdb   = debian/$(p_bdb)
50
51 conf_args = \
52         --with-curses \
53         --enable-largefile \
54         --prefix=/usr \
55         --infodir=/usr/share/info \
56         --mandir=/usr/share/man
57 ifeq ($(with_installed_rl),yes)
58     conf_args += --with-installed-readline
59 endif
60
61 ifeq ($(distribution),SLP)
62 conf_args += --without-bash-malloc
63 endif
64
65 static_conf_args := $(conf_args) \
66         --enable-static-link \
67         --without-bash-malloc \
68         --host=$(DEB_HOST_GNU_TYPE)
69
70 conf_args += --host=$(DEB_HOST_GNU_TYPE)
71
72 ifeq ($(distribution),SLP)
73 build: before-build bash-build
74 else
75 #build: bash-build static-build preinst-build all-bashdb-build check
76 build: before-build bash-build static-build preinst-build check
77 endif
78
79 before-build:
80         : # see #327477, needed to have HAVE_DEV_STDIN defined
81         (test -d /dev/fd && test -r /dev/stdin < /dev/null) \
82           || (test -d /proc/self/fd && test -r /dev/stdin < /dev/null)
83 ifneq (,$(findstring $(DEB_HOST_ARCH_OS), linux freebsd))
84         $(CC) $(CFLAGS) -o clear_console debian/clear_console.c -lncurses
85 endif
86
87 # ---------------------------------------------------------------------------
88 # build standard bash
89
90 bash-build:
91         $(MAKE) -f debian/rules do-build-bash \
92             bash_src=bash \
93             bash_patches="$(debian_patches)" \
94             build=bash \
95             configure_args="$(conf_args)"
96 bash-configure:
97         $(MAKE) -f debian/rules do-configure-bash \
98             bash_src=bash \
99             bash_patches="$(debian_patches)" \
100             build=bash \
101             configure_args="$(conf_args)"
102
103 # ---------------------------------------------------------------------------
104 # build static bash
105
106 static-build:
107         $(MAKE) -f debian/rules do-build-static \
108             bash_src=bash \
109             bash_patches="$(debian_patches)" \
110             build=static \
111             configure_args="$(static_conf_args)"
112 static-configure:
113         $(MAKE) -f debian/rules do-configure-static \
114             bash_src=bash \
115             bash_patches="$(debian_patches)" \
116             build=static \
117             configure_args="$(static_conf_args)"
118
119 # ---------------------------------------------------------------------------
120 # build standard bash
121
122 all-bashdb-build: bashdb-build #bashdb-doc-build
123
124 bashdb-build:
125         DEBUGGER_START_FILE=/usr/share/bashdb/dbg-main.inc \
126         $(MAKE) -f debian/rules do-build-bashdb \
127             bash_src=bashdb \
128             bash_patches="$(bashdb_patches)" \
129             build=bashdb \
130             configure_args="$(conf_args)"
131 bashdb-configure:
132         DEBUGGER_START_FILE=/usr/share/bashdb/dbg-main.inc \
133         $(MAKE) -f debian/rules do-configure-bashdb \
134             bash_src=bashdb \
135             bash_patches="$(bashdb_patches)" \
136             build=bashdb \
137             configure_args="$(conf_args)"
138
139 bashdb-doc-build: stamps/stamp-build-bashdb-doc
140 stamps/stamp-build-bashdb-doc:
141         cp -p build-bashdb/doc/version.texi bashdb/doc/
142         cp -p build-bashdb/debugger/doc/version.texi bashdb/debugger/doc/
143 #       $(MAKE) -C build-bashdb doc
144         $(MAKE) -C build-bashdb/debugger/doc
145         touch stamps/stamp-build-bashdb-doc
146
147 # ---------------------------------------------------------------------------
148
149 bash-doc-build: stamps/stamp-build-bash-doc
150 stamps/stamp-build-bash-doc:
151 ifeq ($(with_gfdl),yes)
152         rm -f bash/doc/bashref.info
153         $(MAKE) -C build-bash/doc bashref.info bashref.pdf
154 endif
155         $(MAKE) -C build-bash/doc bash.html bash.pdf
156         touch stamps/stamp-build-bash-doc
157
158 # ---------------------------------------------------------------------------
159
160 check: stamps/stamp-check
161 stamps/stamp-check: bash-build
162         @echo BEGIN test
163 ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
164   ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
165         -sh debian/locale-gen
166         LOCPATH=$(CURDIR)/locales \
167                 time $(MAKE) -C build-bash test 2>&1 | tee build-bash/test-protocol
168   endif
169 else
170         @echo Suppress 'make' test, because this is cross build
171 endif
172         @echo END test
173         touch stamps/stamp-check
174
175 # ---------------------------------------------------------------------------
176
177 clean:
178         dh_testdir
179         dh_testroot
180         rm -rf stamps build-* bash bashdb
181 ifeq ($(distribution),SLP)
182         rm -f debian/*.o
183 else
184         rm -f debian/bash.preinst debian/*.o
185 endif
186         rm -f debian/README.Debian
187         rm -rf locales
188         rm -f clear_console
189         dh_clean
190
191 preinst-build: debian/bash.preinst
192 debian/bash.preinst: debian/bash.preinst.c debian/md5.c debian/md5.h
193         $(CC) -O2 -c -Idebian -o debian/md5.o debian/md5.c
194         $(CC) -O2 -c -Idebian -o debian/bash.preinst.o debian/bash.preinst.c
195         $(CC) -O2 -s -o debian/bash.preinst debian/md5.o debian/bash.preinst.o
196
197 # ---------------------------------------------------------------------------
198
199
200 install: bash-install #bashdb-install
201
202 bash-install: bash-build stamps/stamp-install-bash
203 stamps/stamp-install-bash: stamps/stamp-build-bash
204         dh_testdir
205         dh_testroot
206         dh_clean -k -p$(p) -p$(p_doc) -p$(p_bins)
207         dh_installdirs -p$(p) \
208                 bin \
209                 etc/skel \
210                 usr/share/doc/$(p)
211         dh_installdirs -p$(p_doc) \
212                 usr/share/doc/$(p)
213         dh_installdirs -p$(p_bins) \
214                 usr/share/doc/$(p)/examples/loadables \
215                 usr/include/bash/{builtins,lib/{glob,tilde}}
216
217 ifeq ($(with_gfdl),yes)
218 # XXXXX
219         cp -p build-bash/doc/*.info bash/doc/
220 endif
221
222         : # install it
223         $(MAKE) -C build-bash install \
224                 CC='$(CC)' \
225                 CFLAGS='$(CFLAGS)' \
226                 YACC="$(YACC)" \
227                 DESTDIR=$(CURDIR)/$(d)
228         mv $(d)/usr/bin/bash $(d)/bin/.
229         chmod 755 $(d)/usr/bin/bashbug
230         $(ID) debian/bashbug.1 $(d)/usr/share/man/man1/
231 ifneq ($(with_gfdl),yes)
232         mkdir -p $(d)/usr/share/man/man1
233         cp -p bash/doc/bash.1 $(d)/usr/share/man/man1/bash.1
234 endif
235
236         : # extra links
237         ln -sf bash $(d)/bin/rbash
238 #       : # now shipped by dash
239 ifneq ($(distribution),SLP)
240         ln -sf bash $(d)/bin/sh
241         ln -sf bash.1 $(d)/usr/share/man/man1/sh.1
242 endif
243
244         : # skeleton files
245         $(ID) debian/etc.bash.bashrc $(d)/etc/bash.bashrc
246         $(ID) debian/skel.bashrc $(d)/etc/skel/.bashrc
247         $(ID) debian/skel.profile $(d)/etc/skel/.profile
248         $(ID) debian/skel.bash_logout $(d)/etc/skel/.bash_logout
249
250         : # clean_console
251 ifneq (,$(findstring $(DEB_HOST_ARCH_OS), linux freebsd))
252         $(IX) clear_console $(d)/usr/bin/
253         $(ID) debian/clear_console.1 $(d)/usr/share/man/man1/
254 endif
255
256 ifeq (0,1)
257         : # install bash-completion
258         mkdir -p $(d)/etc/bash_completion.d
259         $(ID) debian/bash_completion/bash_completion $(d)/etc/.
260         cp -a debian/bash_completion/contrib \
261                 $(d)/usr/share/doc/$(p)/completion-contrib
262         chmod 755 $(d)/usr/share/doc/$(p)/completion-contrib
263         chmod 644 $(d)/usr/share/doc/$(p)/completion-contrib/*
264         $(ID) debian/bash_completion/Changelog \
265                 $(d)/usr/share/doc/$(p)/changelog.bash_completion
266         $(ID) debian/README.bash_completion $(d)/usr/share/doc/$(p)/
267         cat debian/bash_completion/README \
268                 >> $(d)/usr/share/doc/$(p)/README.bash_completion
269         $(ID) debian/bash_completion/BUGS \
270                 $(d)/usr/share/doc/bash/BUGS.bash_completion
271 endif
272
273 ifeq ($(with_gfdl),yes)
274         : # files for the bash-doc package
275         mv $(d)/usr/share/info/bash.info $(d)/usr/share/info/bashref.info
276         ln -sf bashref.info $(d)/usr/share/info/bash.info
277         mv $(d)/usr/share/info $(d_doc)/usr/share/
278 else
279         rmdir $(d)/usr/share/info
280 endif
281
282         dh_installexamples -p$(p_doc) bash/examples/*
283         mv $(d_doc)/usr/share/doc/$(p_doc)/examples \
284                 $(d_doc)/usr/share/doc/$(p)/examples
285         rm -rf $(d_doc)/usr/share/doc/$(p)/examples/loadables
286         ln -sf ../$(p)/examples $(d_doc)/usr/share/doc/$(p_doc)/examples
287
288         cd $(d_doc)/usr/share/doc/$(p)/examples && chmod 644 \
289                 *bashdb/PERMISSION complete/complete.gnu-longopt
290         cd $(d_doc)/usr/share/doc/$(p)/examples && chmod 755 \
291                 misc/aliasconv.*sh misc/cshtobash
292
293         cd $(d_doc)/usr/share/doc/$(p)/examples && chmod 644 \
294                 scripts/shprompt scripts/precedence \
295                 scripts/bcsh.sh scripts/krand.bash
296
297         : # files for the bash-builtins package
298         $(ID) bash/include/*.h bash/*.h  $(d_bins)/usr/include/bash/
299         $(ID) build-bash/*.h $(d_bins)/usr/include/bash/
300         rm -f $(d_bins)/usr/include/bash/y.tab.h
301         $(ID) bash/builtins/*.h $(d_bins)/usr/include/bash/builtins/
302         $(ID) bash/lib/glob/*.h $(d_bins)/usr/include/bash/lib/glob/
303         $(ID) bash/lib/tilde/*.h $(d_bins)/usr/include/bash/lib/tilde/
304         $(ID) bash/examples/loadables/{README,*.c} \
305                 $(d_bins)/usr/share/doc/$(p)/examples/loadables
306         $(ID) build-bash/examples/loadables/Makefile \
307                 $(d_bins)/usr/share/doc/$(p)/examples/loadables
308         ln -sf bash $(d_bins)/usr/share/doc/$(p_bins)
309
310         cat debian/README stamps/stamp-patch-bash > debian/README.Debian
311
312         touch stamps/stamp-install-bash
313
314 bashdb-install: stamps/stamp-install-bashdb
315 stamps/stamp-install-bashdb: stamps/stamp-build-bashdb
316         dh_testdir
317         dh_testroot
318         dh_clean -k -p$(p_bdb)
319         dh_installdirs -p$(p_bdb) \
320                 usr/share/doc/$(p_bdb) \
321                 usr/share/emacs/site-lisp/$(p_bdb)
322
323         : # install it
324         $(MAKE) -C build-bashdb install \
325                 CC='$(CC)' \
326                 CFLAGS='$(CFLAGS)' \
327                 YACC="$(YACC)" \
328                 DESTDIR=$(CURDIR)/$(d_bdb)
329         rm -f $(d_bdb)/usr/bin/bashbug
330         rm -f $(d_bdb)/usr/share/man/man1/bashbug.1
331         rm -f $(d_bdb)/usr/share/info/*
332
333         mv $(d_bdb)/usr/share/man/man1/bash.1 \
334                 $(d_bdb)/usr/share/man/man1/bash+dbg.1
335
336         $(MAKE) -C build-bashdb/debugger/doc install \
337                 DESTDIR=$(CURDIR)/$(d_bdb)
338         cp -p build-bashdb/debugger/doc/bashdb.html \
339                 $(d_bdb)/usr/share/doc/$(p_bdb)/.
340         cp -p build-bashdb/debugger/doc/bashdb.1 \
341                 $(d_bdb)/usr/share/man/man1/.
342
343         : # some corrections
344         mv $(d_bdb)/usr/bin/bash $(d_bdb)/usr/bin/bash+dbg
345         sed -e 's,/usr/bin/bash,/usr/bin/bash+dbg,g' \
346             -e 's,/lib/bashdb,/share/bashdb,g' \
347                 $(d_bdb)/usr/bin/bashdb > $(d_bdb)/usr/bin/bashdb.new
348         mv -f $(d_bdb)/usr/bin/bashdb.new $(d_bdb)/usr/bin/bashdb
349         chmod 755 $(d_bdb)/usr/bin/bashdb
350         cp -p bashdb/debugger/emacs/*.el \
351                 $(d_bdb)/usr/share/emacs/site-lisp/$(p_bdb)/
352
353         touch stamps/stamp-install-bashdb
354
355 binary-doc: bash-install bash-doc-build
356         dh_testdir
357         dh_testroot
358         mkdir -p $(d_doc)/usr/share/doc/$(p)
359         dh_installdocs -p$(p_doc) 
360 ifeq ($(with_gfdl),yes)
361         cp -p build-bash/doc/bashref.pdf $(d_doc)/usr/share/doc/$(p)/.
362         dh_link -p$(p_doc) \
363             /usr/share/doc/$(p)/bashref.pdf /usr/share/doc/$(p_doc)/bashref.pdf
364 else
365         rm -f $(d_doc)/usr/share/doc-base/bashref
366 endif
367         cp -p build-bash/doc/bash.html build-bash/doc/bash.pdf \
368             $(d_doc)/usr/share/doc/$(p)/
369         dh_link -p$(p_doc) \
370             /usr/share/doc/$(p)/bash.html /usr/share/doc/$(p_doc)/bash.html \
371             /usr/share/doc/$(p)/bash.pdf /usr/share/doc/$(p_doc)/bash.pdf
372         dh_installchangelogs -p$(p_doc) bash/CWRU/changelog
373         dh_compress -p$(p_doc) -Xexamples -X.pdf
374         dh_fixperms -p$(p_doc)
375         dh_installdeb -p$(p_doc)
376         dh_gencontrol -p$(p_doc)
377         dh_md5sums -p$(p_doc)
378         dh_builddeb -p$(p_doc)
379
380 ifeq ($(distribution),SLP)
381 binary-bash: bash-install
382 else
383 binary-bash: bash-install debian/bash.preinst
384 endif
385         dh_testdir
386         dh_testroot
387         dh_installchangelogs -p$(p)
388         dh_installdocs -p$(p) \
389                 bash/{CHANGES,NEWS,COMPAT,doc/INTRO,POSIX} \
390                 debian/{README.Debian,README.abs-guide,README.commands} \
391                 debian/inputrc.arrows
392 ifeq ($(with_gfdl),yes)
393         cp -p bash/doc/FAQ $(d)/usr/share/doc/$(p)/.
394 endif
395         cp -p debian/FAQ $(d)/usr/share/doc/$(p)/.
396         dh_installman -p$(p) bash/doc/rbash.1 debian/bash-builtins.7
397         dh_installmenu -p$(p)
398         dh_strip -p$(p)
399         dh_compress -p$(p)
400         dh_fixperms -p$(p)
401         dh_shlibdeps -p$(p) -- -dPre-Depends $(d)/bin/bash debian/bash.preinst
402         dh_installdeb -p$(p)
403         dh_gencontrol -p$(p)
404         dh_md5sums -p$(p)
405         dh_builddeb -p$(p)
406
407 # Even though it contains only headers and example files,
408 # bash-builtins is NOT arch-independent because the config.h* files
409 # differ on different archs.
410 binary-builtins: bash-install
411         dh_testdir
412         dh_testroot
413         dh_compress -p$(p_bins) -Xexamples
414         dh_fixperms -p$(p_bins)
415         dh_installdeb -p$(p_bins)
416         dh_gencontrol -p$(p_bins)
417         dh_md5sums -p$(p_bins)
418         dh_builddeb -p$(p_bins)
419
420 binary-static: static-build
421         dh_testdir
422         dh_testroot
423         dh_clean -k -p$(p_stat)
424         dh_installdirs -p$(p_stat) \
425                 bin \
426                 usr/share/man/man1
427         cp -p build-static/bash $(d_stat)/bin/bash-static
428         cp -p bash/doc/bash.1 $(d_stat)/usr/share/man/man1/bash-static.1
429         dh_installdocs -p$(p_stat)
430         dh_installchangelogs -p$(p_stat)
431         dh_strip -p$(p_stat)
432         dh_compress -p$(p_stat)
433         dh_fixperms -p$(p_stat)
434         dh_installdeb -p$(p_stat)
435         dh_gencontrol -p$(p_stat)
436         dh_md5sums -p$(p_stat)
437         dh_builddeb -p$(p_stat)
438
439 binary-bashdb: bashdb-install
440         dh_testdir
441         dh_testroot
442         dh_installdocs -p$(p_bdb) \
443                 bashdb/{CHANGES,NEWS,README}
444         cp -p debian/README.bashdb $(d_bdb)/usr/share/doc/$(p_bdb)/README.Debian
445         for i in AUTHORS CHANGES NEWS README THANKS TODO; do \
446           cp -p bashdb/debugger/$$i \
447             $(d_bdb)/usr/share/doc/$(p_bdb)/$$i.bashdb; \
448         done
449         dh_installdocs -p$(p_bdb)
450         dh_installchangelogs -p$(p_bdb) bashdb/debugger/ChangeLog
451         dh_installemacsen -p$(p_bdb)
452         dh_strip -p$(p_bdb)
453         dh_compress -p$(p_bdb)
454         dh_fixperms -p$(p_bdb)
455         dh_installdeb -p$(p_bdb)
456         dh_gencontrol -p$(p_bdb)
457         dh_md5sums -p$(p_bdb)
458         dh_builddeb -p$(p_bdb)
459
460 ifeq ($(distribution),SLP)
461 binary-indep:
462 binary-arch: binary-bash
463 else
464 binary-indep: binary-doc
465 binary-arch: binary-bash binary-builtins binary-static #binary-bashdb
466 endif
467 binary: binary-indep binary-arch
468
469 # ---------------------------------------------------------------------------
470 # common rules for all bash build variations
471
472 do-build-$(build): stamps/stamp-build-$(build)
473 stamps/stamp-build-$(build): stamps/stamp-configure-$(build)
474         dh_testdir
475 ifneq (,$(profiled_build))
476         $(MAKE) -C build-$(build) \
477                 CC='$(CC)' \
478                 CFLAGS='$(CFLAGS) -fprofile-generate' \
479                 YACC="$(YACC)" \
480                 deb_builddir=build-$(build)/ \
481                 $(debflags)
482         -sh debian/locale-gen
483         cp debian/run-my-gprof bash/tests/
484         LOCPATH=$(CURDIR)/locales \
485             time $(MAKE) -C build-$(build) TESTSCRIPT=run-my-gprof test 2>&1 \
486                 | tee build-bash/profile-protocol
487         $(MAKE) -C build-$(build) clean
488         rm -f build-$(build)/lib/malloc/malloc*.gc??
489         $(MAKE) -C build-$(build) \
490                 CC='$(CC)' \
491                 CFLAGS='$(CFLAGS) -fprofile-use' \
492                 YACC="$(YACC)" \
493                 deb_builddir=build-$(build)/ \
494                 $(debflags)
495 else
496         $(MAKE) -C build-$(build) \
497                 CC='$(CC)' \
498                 CFLAGS='$(CFLAGS)' \
499                 YACC="$(YACC)" \
500                 deb_builddir=build-$(build)/ \
501                 $(debflags)
502 endif
503 ifeq ($(with_gfdl),yes)
504         $(MAKE) -C build-$(build)/doc \
505                 bash.info
506 endif
507         touch stamps/stamp-build-$(build)
508
509 do-configure-$(build): stamps/stamp-configure-$(build)
510 stamps/stamp-configure-$(build): stamps/stamp-patch-$(bash_src)
511         dh_testdir
512         rm -rf build-$(build)
513         mkdir build-$(build)
514         cd build-$(build) && \
515             CC="$(CC)" CFLAGS="$(CFLAGS)" YACC="$(YACC)" \
516                 ../$(bash_src)/configure $(configure_args)
517         if ! grep -q '#define HAVE_DEV_STDIN 1' build-$(build)/config.h; then \
518           echo "HAVE_DEV_STDIN not defined, abortig build"; \
519           exit 1; \
520         fi
521         touch stamps/stamp-configure-$(build)
522
523 patchdir        = debian/patches
524 debian_patches = \
525         bash41-001 \
526         bash41-002 \
527         bash41-003 \
528         bash41-004 \
529         bash41-005 \
530         bashbug-editor \
531         deb-bash-config \
532         deb-examples \
533         man-arithmetic \
534         man-fignore \
535         man-bashrc \
536         man-bashlogout \
537         man-substring-exp \
538         man-nocaseglob \
539         man-test \
540         man-test2 \
541         privmode \
542         rbash-manpage \
543         bash-default-editor \
544         bash-subst-param-length \
545         pgrp-pipe \
546         input-err \
547         exec-redirections-man \
548         bash-aliases-repeat \
549         builtins-declare-fix \
550
551 ifeq ($(with_gfdl),yes)
552   debian_patches += \
553         man-substring-exp-doc \
554         man-test2-doc \
555         exec-redirections-texi \
556
557 endif
558
559 # all debian_patches, without bash205b-*
560 # patches integrated in bashdb: builtins-shift, execute-cmd, man-arithmetic,
561 #     man-builtin, man-fignore, random, rbash-manpage, report-155436,
562 #     rl-8bit-init, s390-build
563 # and bashdb patch
564 #       rbash-manpage \
565
566 bashdb_patches = \
567         bashdb \
568         rl-examples-bdb \
569         rl-inputrc \
570         bashbug-editor \
571         deb-bash-config \
572         deb-examples \
573         privmode \
574
575 #       various \
576
577 # these are applied in bashdb cvs as well
578 #       man-arithmetic \
579 #       man-fignore \
580 #       random \
581 #       report-155436 \
582 #       s390-build \
583 #       builtins-shift
584
585 patch-$(bash_src): stamps/stamp-patch-$(bash_src)
586 stamps/stamp-patch-$(bash_src): stamps/stamp-unpack-$(bash_src) \
587     $(foreach p,$(bash_patches),stamps/stamp-patch-$(bash_src)-$(p))
588         echo -e "\nPatches applied in this version:" > pxxx
589         for i in $(bash_patches); do \
590           echo -e "\n$$i:" >> pxxx; \
591           sed -n 's/^# *DP: */  /p' $(patchdir)/$$i.dpatch >> pxxx; \
592         done
593         mv -f pxxx $@
594
595 stamps/stamp-patch-$(bash_src)-%: $(patchdir)/%.dpatch
596         if [ -f $@ ]; then \
597           echo "$* patches already applied."; exit 1; \
598         fi
599         sh -e $< -patch -d $(bash_src)
600         echo "$* patches applied." > $@
601
602 unpack-$(bash_src): stamps/stamp-unpack-$(bash_src)
603 stamps/stamp-unpack-$(bash_src):
604         mkdir -p stamps
605         rm -rf bash-$(VERSION) $(bash_src)
606         rm -f stamps/stamp-patch-$(bash_src){,-*}
607         tar xf bash-$(VERSION)*.tar.xz
608         mv bash-$(VERSION) $(bash_src)
609         rm -f bash/y.tab.?
610         cp -p /usr/share/misc/config.* $(bash_src)/.
611         cp -p /usr/share/misc/config.* $(bash_src)/support/.
612         touch stamps/stamp-unpack-$(bash_src)
613
614 .PHONY: unpack patch binary binary-arch binary-indep clean \
615     build bash-build static-build preinst-build \
616     all-bashdb-build bashdb-build bashdb-doc-build \
617     check \
618     bash-configure static-configure bashdb-configure \
619     binary-doc binary-bash binary-builtins binary-static binary-bashdb \
620     install bash-install bashdb-install
621
622 # Local Variables:
623 # mode: makefile
624 # end: