]> git.notmuchmail.org Git - notmuch/commitdiff
ruby: don't use a directory as a target.
authorDavid Bremner <david@tethera.net>
Sat, 30 Oct 2021 20:48:54 +0000 (17:48 -0300)
committerDavid Bremner <david@tethera.net>
Sat, 4 Dec 2021 19:21:54 +0000 (15:21 -0400)
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

index 3672e69ff76af07da05afc0a527355d2c0271941..1cdd28a0584fe2a4436f9b8f9b0e61272cc766c8 100644 (file)
@@ -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