add toolchain/download target
add toolchain/download target

git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4029 3c298f89-4303-0410-b956-a3cf2f4a3e73

--- 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)
 
@@ -29,6 +31,9 @@
 
 $(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_$@ ] || { \

--- a/toolchain/sed/Makefile
+++ b/toolchain/sed/Makefile
@@ -13,14 +13,16 @@
 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 @@
 	    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)

--- a/toolchain/sed/sedcheck.sh
+++ b/toolchain/sed/sedcheck.sh
@@ -11,11 +11,20 @@
 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
 
 

--- a/toolchain/utils/Makefile
+++ b/toolchain/utils/Makefile
@@ -8,6 +8,7 @@
 CFLAGS += -I./include
 endif
 
+source:
 prepare: $(UTILS_BUILD_DIR)
 compile: prepare $(patsubst %,$(UTILS_BUILD_DIR)/%,$(TARGETS))
 install: compile

comments