diff options
Diffstat (limited to 'maint.mk')
-rw-r--r-- | maint.mk | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -18,3 +18,46 @@ # Rebuild Makefile.in if this file is modifed. Makefile.in: maint.mk + +## -------------------- ## +## Third-party files. ## +## ---------------------## + +WGET = wget + +# Git repositories on Savannah. +git_sv_host = git.savannah.gnu.org + +# Some repositories we sync files from. +sv_git_am = 'https://$(git_sv_host)/gitweb/?p=automake.git;a=blob_plain;hb=HEAD;f=' +sv_git_gl = 'https://$(git_sv_host)/gitweb/?p=gnulib.git;a=blob_plain;hb=HEAD;f=' + +# Files that we fetch and which we compare against. +# Note that the 'lib/COPYING' file must still be synced by hand. +fetchfiles = \ + $(sv_git_am)contrib/test-driver.scm \ + $(sv_git_gl)build-aux/do-release-commit-and-tag \ + $(sv_git_gl)build-aux/gitlog-to-changelog \ + ${sv_git_gl}build-aux/gnu-web-doc-update \ + $(sv_git_gl)build-aux/gnupload + +# Fetch the latest versions of few scripts and files we care about. +# A retrieval failure or a copying failure usually mean serious problems, +# so we'll just bail out if 'wget' or 'cp' fail. +fetch: + $(AM_V_at)rm -rf Fetchdir + $(AM_V_at)mkdir Fetchdir + $(AM_V_GEN)set -e; \ + if $(AM_V_P); then wget_opts=; else wget_opts=-nv; fi; \ + for url in $(fetchfiles); do \ + file=`printf '%s\n' "$$url" | sed 's|^.*/||; s|^.*=||'`; \ + $(WGET) $$wget_opts "$$url" -O Fetchdir/$$file || exit 1; \ + if cmp Fetchdir/$$file $(srcdir)/build-aux/$$file >/dev/null; then \ + : Nothing to do; \ + else \ + echo "$@: updating file $$file"; \ + cp Fetchdir/$$file $(srcdir)/build-aux/$$file || exit 1; \ + fi; \ + done + $(AM_V_at)rm -rf Fetchdir +.PHONY: fetch |