Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 5685C429E28 for ; Sun, 23 Feb 2014 13:02:05 -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 9xlbFmMjwZmt for ; Sun, 23 Feb 2014 13:02:00 -0800 (PST) Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) by olra.theworths.org (Postfix) with ESMTP id 76F24431FD6 for ; Sun, 23 Feb 2014 13:02:00 -0800 (PST) Received: by guru.guru-group.fi (Postfix, from userid 501) id 4A3701001C6; Sun, 23 Feb 2014 23:01:54 +0200 (EET) From: Tomi Ollila To: notmuch@notmuchmail.org Subject: [PATCH v3 1/3] build: write version.stamp file containing $(VERSION) string Date: Sun, 23 Feb 2014 23:01:46 +0200 Message-Id: <1393189308-20241-2-git-send-email-tomi.ollila@iki.fi> X-Mailer: git-send-email 1.8.0 In-Reply-To: <1393189308-20241-1-git-send-email-tomi.ollila@iki.fi> References: <1393189308-20241-1-git-send-email-tomi.ollila@iki.fi> 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: Sun, 23 Feb 2014 21:02:05 -0000 This version file will be as prerequisite to the target files that use the version info for some purpose, like printing it for the user to examine. The contents of the version.stamp file is seldom read by the build system itself as the $(VERSION) variable has the same information. Thanks to Trevor, David and Mark for their contributions. --- .gitignore | 1 + Makefile.local | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ef4f074..1fb3a71 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .first-build-message Makefile.config +version.stamp TAGS tags *cscope* diff --git a/Makefile.local b/Makefile.local index 174506c..3a56c06 100644 --- a/Makefile.local +++ b/Makefile.local @@ -22,6 +22,11 @@ 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/-/~/) +# Write the file 'version.stamp' in case its contents differ from $(VERSION) +FILE_VERSION:=$(shell test -f version.stamp && read vs < version.stamp || vs=; echo $$vs) +ifneq ($(FILE_VERSION),$(VERSION)) + $(shell echo "$(VERSION)" > version.stamp) +endif endif endif @@ -69,6 +74,11 @@ ifeq ($(shell cat .first-build-message 2>/dev/null),) endif endif +# Depend (also) on the file 'version'. In case of ifeq ($(IS_GIT),yes) +# this file may already have been updated. +version.stamp: version + echo $(VERSION) > $@ + $(TAR_FILE): if git tag -v $(VERSION) >/dev/null 2>&1; then \ ref=$(VERSION); \ @@ -280,6 +290,8 @@ notmuch_client_srcs = \ notmuch_client_modules = $(notmuch_client_srcs:.c=.o) +notmuch.o: version.stamp + 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 +330,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) notmuch notmuch-shared $(notmuch_client_modules) version.stamp DISTCLEAN := $(DISTCLEAN) .first-build-message Makefile.config -- 1.8.0