# Mercurial
GIT ?= git

LINUX_SRCDIR ?= linux-$(LINUX_VER).git

# The URL of the remote GIT repository
ifeq ($(XEN_LINUX_GIT_URL),)
.ERROR: XEN_LINUX_GIT_URL not specified
endif

# The branch in the remote repository
ifeq ($(XEN_LINUX_GIT_REMOTEBRANCH),)
.ERROR: XEN_LINUX_GIT_REMOTEBRANCH not specified
endif

XEN_LINUX_GIT_LOCALBRANCH ?= master

# Set XEN_LINUX_GITREV to update to a particlar revision.
XEN_LINUX_GITREV  ?= 

$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
	set -ex; \
	if ! [ -d $(LINUX_SRCDIR) ]; then \
		rm -rf $(LINUX_SRCDIR) $(LINUX_SRCDIR).tmp; \
		mkdir $(LINUX_SRCDIR).tmp; rmdir $(LINUX_SRCDIR).tmp; \
		$(GIT) clone $(XEN_LINUX_GIT_URL) $(LINUX_SRCDIR).tmp; \
		cd $(LINUX_SRCDIR).tmp; \
		$(GIT) checkout $(XEN_LINUX_GIT_REMOTEBRANCH); \
		cd ..; mv $(LINUX_SRCDIR).tmp $(LINUX_SRCDIR); \
	fi
	touch $@
