1 #############################################################
5 #############################################################
7 BASH_SOURCE
:=bash-
$(BASH_VERSION
).
tar.gz
8 BASH_SITE
:=$(BR2_GNU_MIRROR
)/bash
10 BASH_DIR
:=$(BUILD_DIR
)/bash-
$(BASH_VERSION
)
12 BASH_TARGET_BINARY
:=bin
/bash
14 BASH_CONFIGURE_CLUE
:=ac_cv_func_setvbuf_reversed
=no
15 ifeq ($(BR2_GCC_USE_SJLJ_EXCEPTIONS
),y
)
16 BASH_CONFIGURE_CLUE
+=bash_cv_func_sigsetjmp
=yes
18 BASH_CONFIGURE_CLUE
+=bash_cv_func_sigsetjmp
=no
20 BASH_CONFIGURE_CLUE
+= ac_cv_func_getcwd
=yes
24 $(DL_DIR
)/$(BASH_SOURCE
):
25 $(WGET
) -P
$(DL_DIR
) $(BASH_SITE
)/$(BASH_SOURCE
)
27 $(BASH_DIR
)/.unpacked
: $(DL_DIR
)/$(BASH_SOURCE
)
28 $(BASH_CAT
) $(DL_DIR
)/$(BASH_SOURCE
) |
tar -C
$(BUILD_DIR
) $(TAR_OPTIONS
) -
29 toolchain
/patch-kernel.sh
$(BASH_DIR
) package
/bash
/ bash??
-\
*
30 # This is broken when -lintl is added to LIBS
31 $(SED
) 's,LIBS_FOR_BUILD =.*,LIBS_FOR_BUILD =,g' \
32 $(BASH_DIR
)/builtins
/Makefile.in
33 # using target's LDFLAGS as LDFLAGS_FOR_BUILD is b0rked
34 -$(SED
) '/^LDFLAGS_FOR_BUILD/d' $(BASH_DIR
)/{,*/{,*/}}Makefile.in
35 $(CONFIG_UPDATE
) $(BASH_DIR
)/support
38 $(BASH_DIR
)/.configured
: PKG
:=BASH
39 $(BASH_DIR
)/.configured
: $(BASH_DIR
)/.unpacked
40 # bash_cv_have_mbstate_t=yes
41 (cd
$(BASH_DIR
); rm -rf config.cache
; \
42 CCFLAGS_FOR_BUILD
="$(HOST_CFLAGS)" \
43 $(BASH_CONFIGURE_CLUE
) \
44 $(AUTO_CONFIGURE_TARGET
) \
50 --libexecdir
=/usr
/lib \
52 --datadir=/usr
/share \
53 --localstatedir
=/var \
54 --mandir=/usr
/share
/man \
55 --infodir=/usr
/share
/info \
56 --includedir=/usr
/include \
58 $(DISABLE_LARGEFILE
) \
61 --without-bash-malloc \
65 $(BASH_DIR
)/$(BASH_BINARY
): $(BASH_DIR
)/.configured
66 $(MAKE1
) CC
=$(TARGET_CC
) CC_FOR_BUILD
="$(HOSTCC)" -C
$(BASH_DIR
)
68 $(TARGET_DIR
)/$(BASH_TARGET_BINARY
): $(BASH_DIR
)/$(BASH_BINARY
)
69 mkdir
-p
$(TARGET_DIR
)/bin
70 $(MAKE1
) DESTDIR
=$(TARGET_DIR
) CC
=$(TARGET_CC
) -C
$(BASH_DIR
) install
71 rm -f
$(TARGET_DIR
)/bin
/bash
*
72 mv
$(TARGET_DIR
)/usr
/bin
/bash
* $(TARGET_DIR
)/bin
/
73 (cd
$(TARGET_DIR
)/bin
; /bin
/ln
-fs bash sh
)
74 ifneq ($(BR2_HAVE_INFOPAGES
),y
)
75 rm -rf
$(TARGET_DIR
)/usr
/share
/info
77 ifneq ($(BR2_HAVE_MANPAGES
),y
)
78 rm -rf
$(TARGET_DIR
)/usr
/share
/man
80 rm -rf
$(TARGET_DIR
)/share
/locale
81 rm -rf
$(TARGET_DIR
)/usr
/share
/doc
83 # If both bash and busybox are selected, make certain bash wins
84 # the fight over who gets to own the /bin/sh symlink.
85 ifeq ($(BR2_PACKAGE_BUSYBOX
),y
)
86 bash
: ncurses uclibc busybox
$(TARGET_DIR
)/$(BASH_TARGET_BINARY
)
88 bash
: ncurses uclibc
$(TARGET_DIR
)/$(BASH_TARGET_BINARY
)
91 bash-source
: $(DL_DIR
)/$(BASH_SOURCE
)
93 bash-unpacked
: $(BASH_DIR
)/.unpacked
95 # If both bash and busybox are selected, the /bin/sh symlink
96 # may need to be reinstated by the clean targets.
98 -$(MAKE1
) DESTDIR
=$(TARGET_DIR
) CC
=$(TARGET_CC
) -C
$(BASH_DIR
) uninstall
99 -$(MAKE1
) -C
$(BASH_DIR
) clean
100 rm -f
$(TARGET_DIR
)/$(BASH_TARGET_BINARY
)
105 #############################################################
107 # Toplevel Makefile options
109 #############################################################
110 ifeq ($(BR2_PACKAGE_BASH
),y
)