summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2005-08-30 03:35:37 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2005-08-30 03:35:37 +0000
commit6b632ad624ca771a6d1fe2dede82e5fa69bb2028 (patch)
treef16afb7e323c1ab1cead5882eae546759b1b8e70
parent4b186393b40453cc9749adc6e072eb70fc7baef7 (diff)
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.
-rw-r--r--Makefile2
-rw-r--r--package/Makefile.in2
-rw-r--r--package/file/file.mk63
3 files changed, 51 insertions, 16 deletions
diff --git a/Makefile b/Makefile
index dd384e9e8..19526cfce 100644
--- a/Makefile
+++ b/Makefile
@@ -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
diff --git a/package/Makefile.in b/package/Makefile.in
index b76f3ba70..a81d469a1 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -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
diff --git a/package/file/file.mk b/package/file/file.mk
index d1f2f8e9b..21343a46a 100644
--- a/package/file/file.mk
+++ b/package/file/file.mk
@@ -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)
+
+#############################################################
+#
+# 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_DIR) package/file/ file\*.patch
- touch $(FILE_DIR)/.unpacked
+ toolchain/patch-kernel.sh $(FILE_DIR2) package/file/ file\*.patch
+ touch $(FILE_DIR2)/.unpacked
-$(FILE_DIR)/.configured: $(FILE_DIR)/.unpacked
- (cd $(FILE_DIR); rm -rf config.cache; \
+$(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)
#############################################################
#