From 0af92f5e6f57ad00c8e4af266919387daab02227 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 19 Dec 2003 23:59:04 +0000 Subject: [PATCH] Paul Fox writes: hi erik -- bash versions 2.04.11 and 2.04.21 (at least -- they're the only non-2.05 versions i have) seem to get the "older than" (test -ot) answer wrong if one of the files is missing. this patch explicitly bypasses the test if the "older" file is missing. paul --- make/sed.mk | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/make/sed.mk b/make/sed.mk index aef55e1850..56aac286b9 100644 --- a/make/sed.mk +++ b/make/sed.mk @@ -50,12 +50,13 @@ $(SED_DIR1)/$(SED_BINARY): $(SED_DIR1)/.configured build-sed-host-binary: $(SED_DIR1)/$(SED_BINARY) @if [ -L $(STAGING_DIR)/$(SED_TARGET_BINARY) ] ; then \ rm -f $(STAGING_DIR)/$(SED_TARGET_BINARY); fi; - @if [ $(STAGING_DIR)/$(SED_TARGET_BINARY) -ot $(SED_DIR1)/$(SED_BINARY) ] ; then \ - set -x; \ - $(MAKE) DESTDIR=$(STAGING_DIR) -C $(SED_DIR1) install; \ - mv $(STAGING_DIR)/usr/bin/sed $(STAGING_DIR)/bin/; \ - rm -rf $(STAGING_DIR)/share/locale $(STAGING_DIR)/usr/info \ - $(STAGING_DIR)/usr/man $(STAGING_DIR)/usr/share/doc; fi + @if [ ! -f $(STAGING_DIR)/$(SED_TARGET_BINARY) -o $(STAGING_DIR)/$(SED_TARGET_BINARY) \ + -ot $(SED_DIR1)/$(SED_BINARY) ] ; then \ + set -x; \ + $(MAKE) DESTDIR=$(STAGING_DIR) -C $(SED_DIR1) install; \ + mv $(STAGING_DIR)/usr/bin/sed $(STAGING_DIR)/bin/; \ + rm -rf $(STAGING_DIR)/share/locale $(STAGING_DIR)/usr/info \ + $(STAGING_DIR)/usr/man $(STAGING_DIR)/usr/share/doc; fi use-sed-host-binary: @if [ -x /usr/bin/sed ]; then SED="/usr/bin/sed"; else \ @@ -113,12 +114,14 @@ $(SED_DIR2)/$(SED_BINARY): $(SED_DIR2)/.configured sed-target_binary: $(SED_DIR2)/$(SED_BINARY) @if [ -L $(TARGET_DIR)/$(SED_TARGET_BINARY) ] ; then \ rm -f $(TARGET_DIR)/$(SED_TARGET_BINARY); fi; - @if [ $(TARGET_DIR)/$(SED_TARGET_BINARY) -ot $(SED_DIR2)/$(SED_BINARY) ] ; then \ - set -x; \ - $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(SED_DIR2) install; \ - mv $(TARGET_DIR)/usr/bin/sed $(TARGET_DIR)/bin/; \ - rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ - $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc; fi + + @if [ ! -f $(SED_DIR2)/$(SED_BINARY) -o $(TARGET_DIR)/$(SED_TARGET_BINARY) \ + -ot $(SED_DIR2)/$(SED_BINARY) ] ; then \ + set -x; \ + $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(SED_DIR2) install; \ + mv $(TARGET_DIR)/usr/bin/sed $(TARGET_DIR)/bin/; \ + rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ + $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc; fi sed: uclibc sed-target_binary