Build 'file' for the host as well as the target. If the host system has a version...
author"Steven J. Hill" <sjhill@realitydiluted.com>
Tue, 30 Aug 2005 03:35:37 +0000 (03:35 -0000)
committer"Steven J. Hill" <sjhill@realitydiluted.com>
Tue, 30 Aug 2005 03:35:37 +0000 (03:35 -0000)
Makefile
package/Makefile.in
package/file/file.mk

index dd384e9e89c2dcdb9be16742bb677b37ef59fe21..19526cfce20357feea541db09c0529c289cbd297 100644 (file)
--- 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
 
index b76f3ba70ea3510b0eecf3c52e6bcdb4754b4f96..a81d469a19c66118730286011aec35e08b40e75a 100644 (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
index d1f2f8e9b2b4f8e9aa7a094dadadc433d778042b..21343a46ae37ce26a236508d332e7fff4d1ddc94 100644 (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)
+
+#############################################################
+#
+# 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)
 
 #############################################################
 #