summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--toolchain/Makefile7
-rw-r--r--toolchain/sed/Makefile8
-rwxr-xr-xtoolchain/sed/sedcheck.sh19
-rw-r--r--toolchain/utils/Makefile1
4 files changed, 27 insertions, 8 deletions
diff --git a/toolchain/Makefile b/toolchain/Makefile
index 8e26db562b..fac0468285 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 e14aadd8ff..bbf85028af 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 4d645b6ab0..5af1d886bd 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 65e488f4e5..f79ed891e4 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