genode/tool/depot/download
Norman Feske b081988e66 tool/depot: make DEPOT_TOOL_DIR customizable
By replacing the formerly hard-coded $(GENODE_DIR)/tool/depot/ by the
variable DEPOT_TOOL_DIR, the depot tools can be hosted outside the
Genode source tree, i.e., as part of the Goa tool.
2022-05-25 12:22:10 +02:00

44 lines
924 B
Makefile
Executable File

#!/usr/bin/make -f
#
# \brief Download packages
# \author Norman Feske
# \date 2017-03-23
#
define HELP_MESSAGE
Download, verify, and uncompress depot content
usage:
$(firstword $(MAKEFILE_LIST)) <archive-path> {PUBLIC=<public>}
endef
export GENODE_DIR := $(realpath $(dir $(MAKEFILE_LIST))/../..)
PUBLIC_DIR ?= $(GENODE_DIR)/public
DEPOT_TOOL_DIR ?= $(GENODE_DIR)/tool/depot
include $(DEPOT_TOOL_DIR)/mk/front_end.inc
# sanitize arguments
ARGS := $(subst ..,__,$(MAKECMDGOALS))
DEPENDENCIES_CMD = $(DEPOT_TOOL_DIR)/dependencies $(ARGS)
DOWNLOAD_CMD = $(DEPOT_TOOL_DIR)/mk/downloader VERBOSE=$(VERBOSE)
.PHONY: download
download:
$(VERBOSE)\
while true; do \
if $(DEPENDENCIES_CMD) > /dev/null 2> /dev/null; then break; fi; \
missing_deps=`$(DEPENDENCIES_CMD) 2> /dev/null | sed -n "/^ /s/ *//p"`; \
$(DOWNLOAD_CMD) $$missing_deps || break; \
done;
$(MAKECMDGOALS): download
@true