unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: David Bremner <david@tethera.net>
To: notmuch@notmuchmail.org
Subject: [PATCH 1/2] build: Move variable definitions to Makefile.global
Date: Sat, 19 Nov 2016 13:44:28 -0400	[thread overview]
Message-ID: <20161119174429.31642-2-david@tethera.net> (raw)
In-Reply-To: <20161119174429.31642-1-david@tethera.net>

I noticed when trying to use VERSION (and derived variables) in a
subdirectory that the top level Makefile.local needed to be included
first. But according to c10085c77b407d9ea704f8b4f9e0a805f63e72cb it
actually needs to be last. To break this conflict, move the variables
definitions into a new Makefile.global.
---
 Makefile        |  2 ++
 Makefile.global | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Makefile.local  | 62 --------------------------------------------------------
 3 files changed, 65 insertions(+), 62 deletions(-)
 create mode 100644 Makefile.global

diff --git a/Makefile b/Makefile
index 4c0e8c6..6d06903 100644
--- a/Makefile
+++ b/Makefile
@@ -33,6 +33,8 @@ ifeq ($(configure_options),)
 endif
 	$(srcdir)/configure $(configure_options)
 
+# runtime variable definitions available in all subdirs
+include Makefile.global
 # Finally, include all of the Makefile.local fragments where all the
 # real work is done.
 
diff --git a/Makefile.global b/Makefile.global
new file mode 100644
index 0000000..444e6bb
--- /dev/null
+++ b/Makefile.global
@@ -0,0 +1,63 @@
+# Here's the (hopefully simple) versioning scheme.
+#
+# Releases of notmuch have a two-digit version (0.1, 0.2, etc.). We
+# increment the second digit for each release and increment the first
+# digit when we reach particularly major milestones of usability.
+#
+# Between releases, (such as when compiling notmuch from the git
+# repository), we let git append identification of the actual commit.
+PACKAGE=notmuch
+
+IS_GIT:=$(if $(wildcard ${srcdir}/.git),yes,no)
+
+ifeq ($(IS_GIT),yes)
+DATE:=$(shell git --git-dir=${srcdir}/.git log --date=short -1 --pretty=format:%cd)
+else
+DATE:=$(shell date +%F)
+endif
+
+VERSION:=$(shell cat ${srcdir}/version)
+ELPA_VERSION:=$(subst ~,_,$(VERSION))
+ifeq ($(filter release release-message pre-release update-versions,$(MAKECMDGOALS)),)
+ifeq ($(IS_GIT),yes)
+VERSION:=$(shell git --git-dir=${srcdir}/.git describe --abbrev=7 --match '[0-9.]*'|sed -e s/_/~/ -e s/-/+/ -e s/-/~/)
+# drop the ~g$sha1 part
+ELPA_VERSION:=$(word 1,$(subst ~, ,$(VERSION)))
+
+# 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
+
+UPSTREAM_TAG=$(subst ~,_,$(VERSION))
+DEB_TAG=debian/$(UPSTREAM_TAG)-1
+
+RELEASE_HOST=notmuchmail.org
+RELEASE_DIR=/srv/notmuchmail.org/www/releases
+RELEASE_URL=https://notmuchmail.org/releases
+TAR_FILE=$(PACKAGE)-$(VERSION).tar.gz
+ELPA_FILE:=$(PACKAGE)-emacs-$(ELPA_VERSION).tar
+DEB_TAR_FILE=$(PACKAGE)_$(VERSION).orig.tar.gz
+SHA1_FILE=$(TAR_FILE).sha1
+GPG_FILE=$(SHA1_FILE).asc
+
+PV_FILE=bindings/python/notmuch/version.py
+
+# Smash together user's values with our extra values
+STD_CFLAGS := -std=gnu99
+FINAL_CFLAGS = -DNOTMUCH_VERSION=$(VERSION) $(CPPFLAGS) $(STD_CFLAGS) $(CFLAGS) $(WARN_CFLAGS) $(extra_cflags) $(CONFIGURE_CFLAGS)
+FINAL_CXXFLAGS = $(CPPFLAGS) $(CXXFLAGS) $(WARN_CXXFLAGS) $(extra_cflags) $(extra_cxxflags) $(CONFIGURE_CXXFLAGS)
+FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Lutil -lutil -Llib -lnotmuch
+ifeq ($(LIBDIR_IN_LDCONFIG),0)
+FINAL_NOTMUCH_LDFLAGS += $(RPATH_LDFLAGS)
+endif
+FINAL_NOTMUCH_LDFLAGS += $(AS_NEEDED_LDFLAGS) $(GMIME_LDFLAGS) $(TALLOC_LDFLAGS) $(ZLIB_LDFLAGS)
+FINAL_NOTMUCH_LINKER = CC
+ifneq ($(LINKER_RESOLVES_LIBRARY_DEPENDENCIES),1)
+FINAL_NOTMUCH_LDFLAGS += $(CONFIGURE_LDFLAGS)
+FINAL_NOTMUCH_LINKER = CXX
+endif
+FINAL_LIBNOTMUCH_LDFLAGS = $(LDFLAGS) $(AS_NEEDED_LDFLAGS) $(CONFIGURE_LDFLAGS)
diff --git a/Makefile.local b/Makefile.local
index 0a122ab..2220823 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -1,67 +1,5 @@
 # -*- makefile -*-
 
-# Here's the (hopefully simple) versioning scheme.
-#
-# Releases of notmuch have a two-digit version (0.1, 0.2, etc.). We
-# increment the second digit for each release and increment the first
-# digit when we reach particularly major milestones of usability.
-#
-# Between releases, (such as when compiling notmuch from the git
-# repository), we let git append identification of the actual commit.
-PACKAGE=notmuch
-
-IS_GIT:=$(if $(wildcard ${srcdir}/.git),yes,no)
-
-ifeq ($(IS_GIT),yes)
-DATE:=$(shell git --git-dir=${srcdir}/.git log --date=short -1 --pretty=format:%cd)
-else
-DATE:=$(shell date +%F)
-endif
-
-VERSION:=$(shell cat ${srcdir}/version)
-ELPA_VERSION:=$(subst ~,_,$(VERSION))
-ifeq ($(filter release release-message pre-release update-versions,$(MAKECMDGOALS)),)
-ifeq ($(IS_GIT),yes)
-VERSION:=$(shell git --git-dir=${srcdir}/.git describe --abbrev=7 --match '[0-9.]*'|sed -e s/_/~/ -e s/-/+/ -e s/-/~/)
-# drop the ~g$sha1 part
-ELPA_VERSION:=$(word 1,$(subst ~, ,$(VERSION)))
-# 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
-
-UPSTREAM_TAG=$(subst ~,_,$(VERSION))
-DEB_TAG=debian/$(UPSTREAM_TAG)-1
-
-RELEASE_HOST=notmuchmail.org
-RELEASE_DIR=/srv/notmuchmail.org/www/releases
-RELEASE_URL=https://notmuchmail.org/releases
-TAR_FILE=$(PACKAGE)-$(VERSION).tar.gz
-DEB_TAR_FILE=$(PACKAGE)_$(VERSION).orig.tar.gz
-SHA1_FILE=$(TAR_FILE).sha1
-GPG_FILE=$(SHA1_FILE).asc
-
-PV_FILE=bindings/python/notmuch/version.py
-
-# Smash together user's values with our extra values
-STD_CFLAGS := -std=gnu99
-FINAL_CFLAGS = -DNOTMUCH_VERSION=$(VERSION) $(CPPFLAGS) $(STD_CFLAGS) $(CFLAGS) $(WARN_CFLAGS) $(extra_cflags) $(CONFIGURE_CFLAGS)
-FINAL_CXXFLAGS = $(CPPFLAGS) $(CXXFLAGS) $(WARN_CXXFLAGS) $(extra_cflags) $(extra_cxxflags) $(CONFIGURE_CXXFLAGS)
-FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Lutil -lutil -Llib -lnotmuch
-ifeq ($(LIBDIR_IN_LDCONFIG),0)
-FINAL_NOTMUCH_LDFLAGS += $(RPATH_LDFLAGS)
-endif
-FINAL_NOTMUCH_LDFLAGS += $(AS_NEEDED_LDFLAGS) $(GMIME_LDFLAGS) $(TALLOC_LDFLAGS) $(ZLIB_LDFLAGS)
-FINAL_NOTMUCH_LINKER = CC
-ifneq ($(LINKER_RESOLVES_LIBRARY_DEPENDENCIES),1)
-FINAL_NOTMUCH_LDFLAGS += $(CONFIGURE_LDFLAGS)
-FINAL_NOTMUCH_LINKER = CXX
-endif
-FINAL_LIBNOTMUCH_LDFLAGS = $(LDFLAGS) $(AS_NEEDED_LDFLAGS) $(CONFIGURE_LDFLAGS)
-
 .PHONY: all
 all: notmuch notmuch-shared build-man ruby-bindings
 ifeq ($(MAKECMDGOALS),)
-- 
2.10.2

  reply	other threads:[~2016-11-19 18:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-19 17:44 provide elpa packages David Bremner
2016-11-19 17:44 ` David Bremner [this message]
2016-11-19 17:44 ` [PATCH 2/2] build/emacs: add target to create elpa package David Bremner
2016-11-25 16:49 ` provide elpa packages Tomi Ollila
2016-11-25 17:15   ` Tomi Ollila
2016-11-26 12:52     ` David Bremner
2016-11-26 17:06       ` Tomi Ollila

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161119174429.31642-2-david@tethera.net \
    --to=david@tethera.net \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).