From 14ace0ca9421f763feed4b72ddb7482aef20663d Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Tue, 20 Jun 2006 23:49:23 +0000
Subject: [PATCH] add toolchain/download target

git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4029 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 toolchain/Makefile        |  7 ++++++-
 toolchain/sed/Makefile    |  8 ++++++--
 toolchain/sed/sedcheck.sh | 19 ++++++++++++++-----
 toolchain/utils/Makefile  |  1 +
 4 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/toolchain/Makefile b/toolchain/Makefile
index 8e26db562..fac046828 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -1,12 +1,14 @@
 # Main makefile for the toolchain
 include $(TOPDIR)/rules.mk
-TARGETS-y:=sed utils binutils gcc uClibc ipkg-utils libnotimpl
+TARGETS-y:=sed kernel-headers utils binutils gcc uClibc ipkg-utils libnotimpl
 TARGETS-$(CONFIG_GDB) += gdb
 
+TARGETS_DOWNLOAD:=$(patsubst %,%-source,$(TARGETS-y))
 TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS-y))
 TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS-y))
 
 all: install
+download: $(TARGETS_DOWNLOAD)
 install: $(TARGETS_INSTALL)
 clean: $(TARGETS_CLEAN)
 
@@ -30,6 +32,9 @@ $(STAGING_DIR):
 $(TOOL_BUILD_DIR):
 	@mkdir -p $@
 
+%-source: FORCE
+	$(MAKE) -C $(patsubst %-source,%,$@) source
+
 %-prepare: $(TOOLCHAIN_STAMP_DIR) $(STAGING_DIR) $(TOOL_BUILD_DIR) FORCE
 	@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
 		$(MAKE) -C $(patsubst %-prepare,%,$@) prepare; \
diff --git a/toolchain/sed/Makefile b/toolchain/sed/Makefile
index e14aadd8f..bbf85028a 100644
--- a/toolchain/sed/Makefile
+++ b/toolchain/sed/Makefile
@@ -13,14 +13,16 @@ SED_DIR1:=$(TOOL_BUILD_DIR)/sed-$(SED_VER)
 SED_DIR2:=$(BUILD_DIR)/sed-$(SED_VER)
 SED_BINARY:=sed/sed
 SED_TARGET_BINARY:=bin/sed
+SED_MD5SUM:=928f0e06422f414091917401f1a834d0
 ifeq ($(strip $(BUILD_WITH_LARGEFILE)),true)
 SED_CPPFLAGS=-D_FILE_OFFSET_BITS=64
 endif
 HOST_SED_TARGET=$(shell ./sedcheck.sh)
+DOWNLOAD_TARGET=$(shell ./sedcheck.sh)
 
 $(DL_DIR)/$(SED_SOURCE):
 	mkdir -p $(DL_DIR)
-	$(SCRIPT_DIR)/download.pl $(DL_DIR) $(SED_SOURCE) x $(SED_SITE)
+	$(SCRIPT_DIR)/download.pl $(DL_DIR) $(SED_SOURCE) $(SED_MD5SUM) $(SED_SITE)
 
 #############################################################
 #
@@ -65,7 +67,9 @@ use-sed-host-binary: FORCE
 	    rm -f $(STAGING_DIR)/$(SED_TARGET_BINARY); \
 	    ln -s $$SED $(STAGING_DIR)/$(SED_TARGET_BINARY)
 
-source: 
+download-sed-binary: sed-$(SED_VER).tar.gz
+
+source: $(DOWNLOAD_TARGET)
 prepare: 
 compile: 
 install: $(HOST_SED_TARGET)
diff --git a/toolchain/sed/sedcheck.sh b/toolchain/sed/sedcheck.sh
index 4d645b6ab..5af1d886b 100755
--- a/toolchain/sed/sedcheck.sh
+++ b/toolchain/sed/sedcheck.sh
@@ -11,11 +11,20 @@ fi;
 echo "HELLO" > .sedtest
 $SED -i -e "s/HELLO/GOODBYE/" .sedtest >/dev/null 2>&1
 
-if [ $? != 0 ] ; then
-	echo build-sed-host-binary
-else
-	echo use-sed-host-binary
-fi;
+case "$1" in
+	download)
+		if [ $? != 0 ] ; then
+			echo download-sed-binary
+		fi;
+	;;
+	*)
+		if [ $? != 0 ] ; then
+			echo build-sed-host-binary
+		else
+			echo use-sed-host-binary
+		fi;
+	;;
+esac
 rm -f .sedtest
 
 
diff --git a/toolchain/utils/Makefile b/toolchain/utils/Makefile
index 65e488f4e..f79ed891e 100644
--- a/toolchain/utils/Makefile
+++ b/toolchain/utils/Makefile
@@ -8,6 +8,7 @@ ifeq ($(OS),Darwin)
 CFLAGS += -I./include
 endif
 
+source:
 prepare: $(UTILS_BUILD_DIR)
 compile: prepare $(patsubst %,$(UTILS_BUILD_DIR)/%,$(TARGETS))
 install: compile
-- 
2.20.1