"make download" ignores download failures

Hi all:

There is some advice in the OpenWrt documentation to run "make download" separately without GNU Make's -j flag, or downloads may fail. In any case, I guess you often do not want to overload your Internet connection by downloading too much in parallel.

The trouble is, if a download fails, the makefile happily carries on. I have noticed it once, and I can simulate it with "firejail --net=none make download".

Later on the line, when the makefile is run in parallel to build OpenWrt, then the download is tried again. But this time, downloads will be parallelised, which we did not want in the first place. Besides, I wanted to make sure I downloaded everything beforehand, so I do not want any downloads during compilation.

Let's look at this definition in include/toplevel.mk :

download: .config FORCE $(if $(wildcard $(TOPDIR)/staging_dir/host/bin/flock),,tools/flock/compile)
	@+$(foreach dir,$(DOWNLOAD_DIRS),$(SUBMAKE) $(dir);)

I guess the reason why download failures are being ignored is the semicolon (';') at the end.

Is there any justification for ignoring download failures at this stage?

Thanks in advance,