# Mercurial HG ?= hg LINUX_SRCDIR ?= linux-$(LINUX_VER)-xen.hg # Repository to clone. XEN_LINUX_HGREPO ?= $$(sh buildconfigs/select-repository $(LINUX_SRCDIR) $(LINUX_SRC_PATH)) # The source directory is not automatically updated to avoid blowing # away developer's changes. If you want to automatically pull a new # version of the Linux tree then add `XEN_LINUX_UPDATE=y' to your make # command line. ifeq ($(XEN_LINUX_UPDATE),y) __XEN_LINUX_UPDATE = $(LINUX_SRCDIR)/.force-update else __XEN_LINUX_UPDATE = endif # Set XEN_LINUX_HGREV to update to a particlar revision. XEN_LINUX_HGREV ?= tip $(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE) set -e ; __repo=$(XEN_LINUX_HGREPO) ; \ if [ ! -d $(LINUX_SRCDIR) ] ; then \ echo "Cloning $${__repo} to $(LINUX_SRCDIR)." ; \ $(HG) clone $${__repo} $(LINUX_SRCDIR) ; \ else \ echo "Pulling changes from $${__repo} into $(LINUX_SRCDIR)." ; \ $(HG) -R $(LINUX_SRCDIR) pull $${__repo} ; \ fi if [ -n "$(XEN_LINUX_HGREV)" ] ; then \ echo "Updating $(LINUX_SRCDIR) to revision $(XEN_LINUX_HGREV)." ; \ $(HG) update -R $(LINUX_SRCDIR) $(XEN_LINUX_HGREV) ; \ fi touch $@ .PHONY: $(LINUX_SRCDIR)/.force-update $(LINUX_SRCDIR)/.force-update: @ :