aboutsummaryrefslogtreecommitdiff
path: root/package/file
diff options
context:
space:
mode:
authorGravatar "Steven J. Hill" <sjhill@realitydiluted.com>2005-08-30 03:35:37 +0000
committerGravatar "Steven J. Hill" <sjhill@realitydiluted.com>2005-08-30 03:35:37 +0000
commit6b632ad624ca771a6d1fe2dede82e5fa69bb2028 (patch)
treef16afb7e323c1ab1cead5882eae546759b1b8e70 /package/file
parent4b186393b40453cc9749adc6e072eb70fc7baef7 (diff)
downloadbuildroot-6b632ad624ca771a6d1fe2dede82e5fa69bb2028.tar.gz
buildroot-6b632ad624ca771a6d1fe2dede82e5fa69bb2028.tar.bz2
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.
Diffstat (limited to 'package/file')
-rw-r--r--package/file/file.mk63
1 files changed, 49 insertions, 14 deletions
diff --git a/package/file/file.mk b/package/file/file.mk
index d1f2f8e9b2..21343a46ae 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)
#############################################################
#