kumquat-buildroot/package/bash/bash.mk
Peter Korsgaard 3fdf0bffb8 buildroot: silence ./configure step when building with 'make -s'
We have been passing -q to ./configure when using 'make -s' for
packages using Makefile.autotools.in for some time. Do the same
for packages using autotools, but not using the
Makefile.autotools.in infrastructure, taking care to not do it
for packages with hand written configure scripts.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-01 21:24:42 +02:00

118 lines
3.5 KiB
Makefile

#############################################################
#
# bash
#
#############################################################
BASH_VERSION:=3.2
BASH_SOURCE:=bash-$(BASH_VERSION).tar.gz
BASH_SITE:=$(BR2_GNU_MIRROR)/bash
BASH_CAT:=$(ZCAT)
BASH_DIR:=$(BUILD_DIR)/bash-$(BASH_VERSION)
BASH_BINARY:=bash
BASH_TARGET_BINARY:=bin/bash
$(DL_DIR)/$(BASH_SOURCE):
$(call DOWNLOAD,$(BASH_SITE),$(BASH_SOURCE))
bash-source: $(DL_DIR)/$(BASH_SOURCE)
bash-unpacked: $(BASH_DIR)/.unpacked
$(BASH_DIR)/.unpacked: $(DL_DIR)/$(BASH_SOURCE)
$(BASH_CAT) $(DL_DIR)/$(BASH_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(BASH_DIR) package/bash/ bash??-\*
# This is broken when -lintl is added to LIBS
$(SED) 's,LIBS_FOR_BUILD =.*,LIBS_FOR_BUILD =,g' \
$(BASH_DIR)/builtins/Makefile.in
# using target's LDFLAGS as LDFLAGS_FOR_BUILD is b0rked
-$(SED) '/^LDFLAGS_FOR_BUILD/d' $(BASH_DIR)/{,*/{,*/}}Makefile.in
$(CONFIG_UPDATE) $(BASH_DIR)/support
touch $@
$(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked
# bash_cv_have_mbstate_t=yes
(cd $(BASH_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
$(TARGET_CONFIGURE_ARGS) \
CCFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
ac_cv_func_setvbuf_reversed=no \
ac_cv_have_decl_sys_siglist=yes \
bash_cv_job_control_missing=present \
bash_cv_sys_named_pipes=present \
bash_cv_unusable_rtsigs=no \
bash_cv_func_ctype_nonascii=yes \
bash_cv_decl_under_sys_siglist=yes \
bash_cv_ulimit_maxfds=yes \
bash_cv_getcwd_malloc=yes \
bash_cv_func_sigsetjmp=present \
bash_cv_printf_a_format=yes \
./configure $(QUIET) \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libdir=/lib \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--includedir=/usr/include \
$(DISABLE_NLS) \
$(DISABLE_LARGEFILE) \
--with-curses \
--enable-alias \
--without-bash-malloc \
$(ENABLE_DEBUG) \
)
touch $@
$(BASH_DIR)/$(BASH_BINARY): $(BASH_DIR)/.configured
$(MAKE1) CC=$(TARGET_CC) CC_FOR_BUILD="$(HOSTCC)" -C $(BASH_DIR)
$(TARGET_DIR)/$(BASH_TARGET_BINARY): $(BASH_DIR)/$(BASH_BINARY)
mkdir -p $(TARGET_DIR)/bin
$(MAKE1) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BASH_DIR) install
rm -f $(TARGET_DIR)/bin/bash*
mv $(TARGET_DIR)/usr/bin/bash* $(TARGET_DIR)/bin/
(cd $(TARGET_DIR)/bin; /bin/ln -fs bash sh)
ifneq ($(BR2_HAVE_INFOPAGES),y)
rm -rf $(TARGET_DIR)/usr/share/info
endif
ifneq ($(BR2_HAVE_MANPAGES),y)
rm -rf $(TARGET_DIR)/usr/share/man
endif
rm -rf $(TARGET_DIR)/share/locale
rm -rf $(TARGET_DIR)/usr/share/doc
# If both bash and busybox are selected, make certain bash wins
# the fight over who gets to own the /bin/sh symlink.
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
bash: ncurses busybox $(TARGET_DIR)/$(BASH_TARGET_BINARY)
else
bash: ncurses $(TARGET_DIR)/$(BASH_TARGET_BINARY)
endif
# If both bash and busybox are selected, the /bin/sh symlink
# may need to be reinstated by the clean targets.
bash-clean:
-$(MAKE1) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BASH_DIR) uninstall
rm -f $(TARGET_DIR)/$(BASH_TARGET_BINARY)
-$(MAKE1) -C $(BASH_DIR) clean
bash-dirclean:
rm -rf $(BASH_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_PACKAGE_BASH),y)
TARGETS+=bash
endif