diff options
| 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 | 
| commit | 6b632ad624ca771a6d1fe2dede82e5fa69bb2028 (patch) | |
| tree | f16afb7e323c1ab1cead5882eae546759b1b8e70 | |
| parent | 4b186393b40453cc9749adc6e072eb70fc7baef7 (diff) | |
| download | buildroot-novena-6b632ad624ca771a6d1fe2dede82e5fa69bb2028.tar.gz buildroot-novena-6b632ad624ca771a6d1fe2dede82e5fa69bb2028.zip | |
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-- | Makefile | 2 | ||||
| -rw-r--r-- | package/Makefile.in | 2 | ||||
| -rw-r--r-- | package/file/file.mk | 63 | 
3 files changed, 51 insertions, 16 deletions
| @@ -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)  #############################################################  # | 
