add package/download target
add package/download target

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

--- a/package/Makefile
+++ b/package/Makefile
@@ -3,11 +3,15 @@
 include $(TOPDIR)/.config
 include $(TOPDIR)/.pkgdeps
 
+SOURCE_PACKAGES:=$(patsubst %,%-source,$(package-y) $(package-m))
 COMPILE_PACKAGES:=$(patsubst %,%-compile,$(package-y) $(package-m))
 INSTALL_PACKAGES:=$(patsubst %,%-install,$(package-y))
 
 $(STAMP_DIR) $(TARGET_DIR):
 	mkdir -p $@
+
+%-source: $(STAMP_DIR) $(TARGET_DIR)
+	$(MAKE) -C $(patsubst %-source,%,$@) source MAKEFLAGS="$(BUILD_MAKEFLAGS)"
 
 %-prepare: $(STAMP_DIR) $(TARGET_DIR)
 	$(MAKE) -C $(patsubst %-prepare,%,$@) prepare MAKEFLAGS="$(BUILD_MAKEFLAGS)"
@@ -29,6 +33,7 @@
 
 all: compile
 clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m))
+download: $(SOURCE_PACKAGES)
 compile-targets: $(COMPILE_PACKAGES)
 compile:
 	$(MAKE) -j$(CONFIG_JLEVEL) compile-targets

--- a/package/rules.mk
+++ b/package/rules.mk
@@ -19,7 +19,8 @@
     endif
   endif
 
-  $(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE)
+
+  $(PKG_BUILD_DIR)/.prepared:
 	@-rm -rf $(PKG_BUILD_DIR)
 	@mkdir -p $(PKG_BUILD_DIR)
 	$(call Build/Prepare)
@@ -198,11 +199,6 @@
   $$(eval $$(call Build/DefaultTargets,$(1)))
 
 endef
-
-ifneq ($(strip $(PKG_SOURCE)),)
-  $(DL_DIR)/$(PKG_SOURCE):
-	$(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_SOURCE)" "$(PKG_MD5SUM)" $(PKG_SOURCE_URL)
-endif
 
 ifneq ($(strip $(PKG_CAT)),)
   define Build/Prepare/Default
@@ -273,11 +269,20 @@
   dumpinfo: FORCE
 	@$(DUMPINFO)
 else
-		
   $(PACKAGE_DIR):
 	mkdir -p $@
-
-  source: $(DL_DIR)/$(PKG_SOURCE)
+		
+  ifneq ($(strip $(PKG_SOURCE)),)
+    source: $(DL_DIR)/$(PKG_SOURCE)
+
+    $(DL_DIR)/$(PKG_SOURCE):
+		mkdir -p $(DL_DIR)
+		$(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_SOURCE)" "$(PKG_MD5SUM)" $(PKG_SOURCE_URL)
+
+    $(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE)
+  endif
+
+  source:
   prepare: $(PKG_BUILD_DIR)/.prepared
   configure: $(PKG_BUILD_DIR)/.configured
 

comments