From 904c067f32ce29f582c711c0ce631df9b8d4edfc Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sat, 30 Oct 2021 17:48:54 -0300 Subject: [PATCH] ruby: don't use a directory as a target. The directory is (neccesarily) not updated by the build, so it keeps trying to build. The proposed fix is to use the name of the dynamic library containing the extension. This is a partial fix for the rebuilding reported at [1]. [1]: id:87r29wwgq2.fsf@fifthhorseman.net --- bindings/Makefile.local | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bindings/Makefile.local b/bindings/Makefile.local index 3672e69f..1cdd28a0 100644 --- a/bindings/Makefile.local +++ b/bindings/Makefile.local @@ -3,21 +3,23 @@ dir := bindings # force the shared library to be built -ruby-bindings: lib/$(LINKER_NAME) +ruby-bindings: $(dir)/ruby.stamp + +$(dir)/ruby.stamp: lib/$(LINKER_NAME) ifeq ($(HAVE_RUBY_DEV),1) cd $(dir)/ruby && \ EXTRA_LDFLAGS="$(NO_UNDEFINED_LDFLAGS)" \ LIBNOTMUCH="../../lib/$(LINKER_NAME)" \ NOTMUCH_SRCDIR='$(NOTMUCH_SRCDIR)' \ $(RUBY) extconf.rb --vendor - $(MAKE) -C $(dir)/ruby CFLAGS="$(CFLAGS) -pipe -fno-plt -fPIC" + $(MAKE) -C $(dir)/ruby CFLAGS="$(CFLAGS) -pipe -fno-plt -fPIC" && touch $@ endif python-cffi-bindings: lib/$(LINKER_NAME) ifeq ($(HAVE_PYTHON3_CFFI),1) cd $(dir)/python-cffi && \ ${PYTHON} setup.py build --build-lib build/stage && \ - mkdir -p build/stage/tests && cp tests/*.py build/stage/tests + mkdir -p build/stage/tests && cp tests/*.py build/stage/tests && touch ../../$@ endif CLEAN += $(patsubst %,$(dir)/ruby/%, \ @@ -26,6 +28,6 @@ CLEAN += $(patsubst %,$(dir)/ruby/%, \ init.o message.o messages.o mkmf.log notmuch.so query.o \ status.o tags.o thread.o threads.o) -CLEAN += bindings/ruby/.vendorarchdir.time +CLEAN += bindings/ruby/.vendorarchdir.time $(dir)/ruby.stamp CLEAN += bindings/python-cffi/build