-# $Id$
-CURL := curl -H Pragma: -O -R -S --fail --show-error
-SHA1SUM = sha1sum
-
-# default - overridden by the build
-SPECFILE = madwifi.spec
-
-main.URL := http://dfn.dl.sourceforge.net/sourceforge/madwifi/madwifi-0.9.3.3.tar.bz2
-main.SHA1SUM := 13df0e407de0f5b733e5ff1b660ce2fac048b206
-main.FILE := $(notdir $(main.URL))
-
-# Thierry - when called from within the build, PWD is /build
-SOURCEFILES := $(main.FILE)
-
-$(main.FILE): #FORCE
- @if [ ! -e "$@" ] ; then echo "$(CURL) $(main.URL)" ; $(CURL) $(main.URL) ; fi
- @if [ ! -e "$@" ] ; then echo "Could not download source file: $@ does not exist" ; exit 1 ; fi
- @if test "$$(sha1sum $@ | awk '{print $$1}')" != "$(main.SHA1SUM)" ; then \
- echo "sha1sum of the downloaded $@ does not match the one from 'sources' file" ; \
- echo "Local copy: $$(sha1sum $@)" ; \
- echo "In sources: $$(grep $@ sources)" ; \
- exit 1 ; \
+#
+WEBFETCH := wget
+SHA1SUM := sha1sum
+
+ALL += madwifi
+madwifi-URL1 := http://mirror.onelab.eu/third-party/madwifi-trunk-r4132-20100921.tar.gz
+madwifi-URL2 := http://planet-lab.org/third-party/madwifi-trunk-r4132-20100921.tar.gz
+madwifi-SHA1SUM := 67b16da3cba977028e5f1ffa8ba4d367b1acfaa1
+madwifi := $(notdir $(madwifi-URL1))
+
+##############################
+define download_target
+$(1): $($(1))
+.PHONY: $(1)
+$($(1)):
+ @if [ ! -e "$($(1))" ] ; then \
+ { echo Using primary; echo "$(WEBFETCH) $($(1)-URL1)" ; $(WEBFETCH) $($(1)-URL1) ; } || \
+ { echo Using secondary; echo "$(WEBFETCH) $($(1)-URL2)" ; $(WEBFETCH) $($(1)-URL2) ; } ; fi
+ @if [ ! -e "$($(1))" ] ; then echo "Could not download source file: $($(1)) does not exist" ; exit 1 ; fi
+ @if test "$$$$($(SHA1SUM) $($(1)) | awk '{print $$$$1}')" != "$($(1)-SHA1SUM)" ; then \
+ echo "sha1sum of the downloaded $($(1)) does not match the one from 'Makefile'" ; \
+ echo "Local copy: $$$$($(SHA1SUM) $($(1)))" ; \
+ echo "In Makefile: $($(1)-SHA1SUM)" ; \
+ false ; \