################################################################################
# Embtoolkit
# Copyright(C) 2009-2014 Abdoulaye Walsimou GAYE.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#
################################################################################
#
# \file busybox.mk
# \brief busybox.mk of Embtoolkit
# \author Abdoulaye Walsimou GAYE
# \date May 2009
################################################################################
BB_NAME := busybox
BB_VERSION := $(call embtk_get_pkgversion,bb)
BB_SITE := http://www.busybox.net/downloads
BB_PACKAGE := busybox-$(BB_VERSION).tar.bz2
BB_SRC_DIR := $(embtk_pkgb)/busybox-$(BB_VERSION)
BB_BUILD_DIR := $(embtk_pkgb)/busybox-$(BB_VERSION)
BB_KEEP_SRC_DIR := y
__embtk_cflags_bb := $(TARGET_CFLAGS) -pipe -fno-strict-aliasing
__embtk_cflags_bb += -fno-unwind-tables -fno-asynchronous-unwind-tables
BB_NODESTDIR := y
BB_MAKE_ENV := CFLAGS="$(__embtk_cflags_bb)"
BB_MAKE_OPTS := CROSS_COMPILE="$(CROSS_COMPILE)"
BB_MAKE_OPTS += CC="$(TARGETCC)" HOSTCC="$(HOSTCC)"
ifeq ($(embtk_buildhost_os),macos)
BB_MAKE_OPTS += HOSTCFLAGS="$(HOSTCFLAGS) -D_DARWIN_C_SOURCE"
endif
BB_MAKE_OPTS += CONFIG_PREFIX="$(embtk_rootfs)" CONFIG_EXTRA_LDFLAGS=""
BB_MAKE_OPTS += CONFIG_EXT_DEFINED_OPTIMIZATION=y
define embtk_install_bb
$(Q)$(call embtk_makeinstall_pkg,bb)
endef
define embtk_beforeinstall_bb
$(embtk_configure_bb)
$(Q)$(BB_MAKE_ENV) $(MAKE) -C $(BB_BUILD_DIR) $(BB_MAKE_OPTS) oldconfig
endef
# This is needed as busybox is installed directly in the rootfs
define embtk_postinstall_bb
$(Q)$(BB_MAKE_ENV) $(MAKE) -C $(BB_BUILD_DIR) $(BB_MAKE_OPTS) install
endef
define embtk_configure_bb
$(call embtk_pinfo,"Configuring busybox...")
$(Q)grep "CONFIG_KEMBTK_BUSYB_" $(EMBTK_ROOT)/.config | \
sed -e 's/CONFIG_KEMBTK_BUSYB_*/CONFIG_/g' \
> $(BB_BUILD_DIR)/.config
endef