Build 'file' for the host as well as the target. If the host system has a version older than that being built for buildroot, the target build will fail. So, we build 'file' for the host and add actually add '$(TOOL_BUILD_DIR)/bin' to the TARGET_PATH so that it takes precedence over the host system version.

This commit is contained in:
"Steven J. Hill" 2005-08-30 03:35:37 +00:00
parent 4b186393b4
commit 6b632ad624
3 changed files with 52 additions and 17 deletions

View File

@ -49,7 +49,7 @@ ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y)
# along with the packages to build for the target.
#
##############################################################
TARGETS:=host-sed kernel-headers uclibc-configured binutils gcc uclibc-target-utils
TARGETS:=host-sed host-file kernel-headers uclibc-configured binutils gcc uclibc-target-utils
include toolchain/Makefile.in
include package/Makefile.in

View File

@ -26,7 +26,7 @@ TOOL_BUILD_DIR=$(BASE_DIR)/toolchain_build_$(ARCH)$(ARCH_FPU_SUFFIX)
# Strip off the annoying quoting
STAGING_DIR:=$(strip $(subst ",, $(BR2_STAGING_DIR)))
#"
TARGET_PATH=$(STAGING_DIR)/bin:/bin:/sbin:/usr/bin:/usr/sbin
TARGET_PATH=$(STAGING_DIR)/bin:$(TOOL_BUILD_DIR)/bin:/bin:/sbin:/usr/bin:/usr/sbin
IMAGE:=$(BASE_DIR)/rootfs.$(ARCH)$(ARCH_FPU_SUFFIX)
REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux-uclibc
GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux

View File

@ -6,7 +6,8 @@
FILE_VER:=4.15
FILE_SOURCE:=file-$(FILE_VER).tar.gz
FILE_SITE:=ftp://ftp.astron.com/pub/file
FILE_DIR:=$(BUILD_DIR)/file-$(FILE_VER)
FILE_DIR1:=$(TOOL_BUILD_DIR)/file-$(FILE_VER)
FILE_DIR2:=$(BUILD_DIR)/file-$(FILE_VER)
FILE_CAT:=zcat
FILE_BINARY:=src/file
FILE_TARGET_BINARY:=usr/bin/file
@ -16,13 +17,47 @@ $(DL_DIR)/$(FILE_SOURCE):
file-source: $(DL_DIR)/$(FILE_SOURCE)
$(FILE_DIR)/.unpacked: $(DL_DIR)/$(FILE_SOURCE)
$(FILE_CAT) $(DL_DIR)/$(FILE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(FILE_DIR) package/file/ file\*.patch
touch $(FILE_DIR)/.unpacked
$(FILE_DIR)/.configured: $(FILE_DIR)/.unpacked
(cd $(FILE_DIR); rm -rf config.cache; \
#############################################################
#
# build file for use on the host system
#
#############################################################
$(FILE_DIR1)/.unpacked: $(DL_DIR)/$(FILE_SOURCE)
$(FILE_CAT) $(DL_DIR)/$(FILE_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
touch $(FILE_DIR1)/.unpacked
$(FILE_DIR1)/.configured: $(FILE_DIR1)/.unpacked
(cd $(FILE_DIR1); rm -rf config.cache; \
./configure \
--prefix=$(FILE_DIR1)/install \
);
touch $(FILE_DIR1)/.configured
$(TOOL_BUILD_DIR)/bin/file: $(FILE_DIR1)/.configured
$(MAKE) -C $(FILE_DIR1) install
ln -sf $(FILE_DIR1)/install/bin/file $(TOOL_BUILD_DIR)/bin/file
host-file: $(TOOL_BUILD_DIR)/bin/file
host-file-clean:
$(MAKE) -C $(FILE_DIR1) clean
host-file-dirclean:
rm -rf $(FILE_DIR1)
#############################################################
#
# build file for use on the target system
#
#############################################################
$(FILE_DIR2)/.unpacked: $(DL_DIR)/$(FILE_SOURCE)
$(FILE_CAT) $(DL_DIR)/$(FILE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(FILE_DIR2) package/file/ file\*.patch
touch $(FILE_DIR2)/.unpacked
$(FILE_DIR2)/.configured: $(FILE_DIR2)/.unpacked
(cd $(FILE_DIR2); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
@ -44,13 +79,13 @@ $(FILE_DIR)/.configured: $(FILE_DIR)/.unpacked
--enable-static \
--disable-fsect-man5 \
);
touch $(FILE_DIR)/.configured
touch $(FILE_DIR2)/.configured
$(FILE_DIR)/$(FILE_BINARY): $(FILE_DIR)/.configured
$(MAKE) $(TARGET_CONFIGURE_OPTS) LDFLAGS="-static" -C $(FILE_DIR)
$(FILE_DIR2)/$(FILE_BINARY): $(FILE_DIR2)/.configured
$(MAKE) $(TARGET_CONFIGURE_OPTS) LDFLAGS="-static" -C $(FILE_DIR2)
$(TARGET_DIR)/$(FILE_TARGET_BINARY): $(FILE_DIR)/$(FILE_BINARY)
$(MAKE) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) -C $(FILE_DIR) install
$(TARGET_DIR)/$(FILE_TARGET_BINARY): $(FILE_DIR2)/$(FILE_BINARY)
$(MAKE) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) -C $(FILE_DIR2) install
-($(STRIP) $(TARGET_DIR)/usr/lib/libmagic.so.*.* > /dev/null 2>&1)
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
@ -58,11 +93,11 @@ $(TARGET_DIR)/$(FILE_TARGET_BINARY): $(FILE_DIR)/$(FILE_BINARY)
file: zlib uclibc $(TARGET_DIR)/$(FILE_TARGET_BINARY)
file-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(FILE_DIR) uninstall
-$(MAKE) -C $(FILE_DIR) clean
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(FILE_DIR2) uninstall
-$(MAKE) -C $(FILE_DIR2) clean
file-dirclean:
rm -rf $(FILE_DIR)
rm -rf $(FILE_DIR2)
#############################################################
#