From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 1497C431FC2 for ; Wed, 5 Feb 2014 14:58:46 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DSat-3xdRI-T for ; Wed, 5 Feb 2014 14:58:42 -0800 (PST) Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) by olra.theworths.org (Postfix) with ESMTP id AB7AB431FAE for ; Wed, 5 Feb 2014 14:58:42 -0800 (PST) Received: by guru.guru-group.fi (Postfix, from userid 501) id 9FF3910009D; Thu, 6 Feb 2014 00:58:34 +0200 (EET) From: Tomi Ollila To: notmuch@notmuchmail.org Subject: [PATCH v4] build: write VERSION file containing $(VERSION) string Date: Thu, 6 Feb 2014 00:58:33 +0200 Message-Id: <1391641113-4669-1-git-send-email-tomi.ollila@iki.fi> X-Mailer: git-send-email 1.8.0 In-Reply-To: References: Cc: tomi.ollila@iki.fi X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Feb 2014 22:58:46 -0000 This version file will be as prerequisite to the target files that use the version info for some purpose, like printing it to the user to examine. The contents of the VERSION file is seldom read by the build system itself as the $(VERSION) variable has the same information. --- ctested also with: mv .git .x make cat VERSION version mv .x .git make cat VERSION version Makefile.local | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Makefile.local b/Makefile.local index 174506c..65c91cb 100644 --- a/Makefile.local +++ b/Makefile.local @@ -21,7 +21,13 @@ endif VERSION:=$(shell cat ${srcdir}/version) ifeq ($(filter release release-message pre-release update-versions,$(MAKECMDGOALS)),) ifeq ($(IS_GIT),yes) -VERSION:=$(shell git describe --match '[0-9.]*'|sed -e s/_/~/ -e s/-/+/ -e s/-/~/) +# Also write VERSION file in case its contents differ from $(VERSION) +VERSION:=$(shell\ + gv=`git describe --match '[0-9.]*'|sed -e s/_/~/ -e s/-/+/ -e s/-/~/`;\ + test -f VERSION || touch VERSION;\ + read fv < VERSION;\ + test x"$$fv" = x"$$gv" || echo "$$gv" > VERSION;\ + echo "$$gv") endif endif @@ -69,6 +75,11 @@ ifeq ($(shell cat .first-build-message 2>/dev/null),) endif endif +# Depend (also) on 'version' file. In case of ifeq ($(IS_GIT),yes) +# this file may already have been updated. +VERSION: version + echo $(VERSION) > $@ + $(TAR_FILE): if git tag -v $(VERSION) >/dev/null 2>&1; then \ ref=$(VERSION); \ @@ -280,6 +291,8 @@ notmuch_client_srcs = \ notmuch_client_modules = $(notmuch_client_srcs:.c=.o) +notmuch.o: VERSION + notmuch: $(notmuch_client_modules) lib/libnotmuch.a util/libutil.a parse-time-string/libparse-time-string.a $(call quiet,CXX $(CFLAGS)) $^ $(FINAL_LIBNOTMUCH_LDFLAGS) -o $@ @@ -318,7 +331,7 @@ install-desktop: desktop-file-install --mode 0644 --dir "$(DESTDIR)$(desktop_dir)" notmuch.desktop SRCS := $(SRCS) $(notmuch_client_srcs) -CLEAN := $(CLEAN) notmuch notmuch-shared $(notmuch_client_modules) notmuch.elc +CLEAN := $(CLEAN) VERSION notmuch notmuch-shared $(notmuch_client_modules) DISTCLEAN := $(DISTCLEAN) .first-build-message Makefile.config -- 1.8.4.2