install: install-$(dir)
 
+# The (often-reused) $dir works fine within targets/pre-requisites,
+# but cannot be used reliably within commands, so copy its value to a
+# variable that is not reused.
+lib := $(dir)
 install-$(dir):
        mkdir -p $(DESTDIR)$(libdir)/
-       install -m0644 $(dir)/$(LIBNAME) $(DESTDIR)$(libdir)/
+       install -m0644 $(lib)/$(LIBNAME) $(DESTDIR)$(libdir)/
        ln -sf $(LIBNAME) $(DESTDIR)$(libdir)/$(SONAME)
        ln -sf $(LIBNAME) $(DESTDIR)$(libdir)/$(LINKER_NAME)
        mkdir -p $(DESTDIR)$(includedir)
-       install -m0644 $(dir)/notmuch.h $(DESTDIR)$(includedir)/
+       install -m0644 $(lib)/notmuch.h $(DESTDIR)$(includedir)/
        $(LIBRARY_INSTALL_POST_COMMAND)
 
 SRCS  := $(SRCS) $(libnotmuch_c_srcs) $(libnotmuch_cxx_srcs)