diff --git a/configure/modules/RULES_E3 b/configure/modules/RULES_E3
index 80775fc25f7e461462f79b0205ae1d415e505aa2..790e8fb862a9988a7acae292441b8476d87386a0 100644
--- a/configure/modules/RULES_E3
+++ b/configure/modules/RULES_E3
@@ -29,7 +29,7 @@ help:
 
 
 ## Install current module to $(EPICS_BASE)/require/$(E3_REQUIRE_VERSION)/siteMods
-install: install_module install_links vlibs
+install: install_module install_links
 
 install_module: build db
 	$(QUIET) $(E3_MODULE_MAKE_CMDS) install
diff --git a/configure/modules/RULES_VLIBS b/configure/modules/RULES_VLIBS
index d43284108ee3f3f60ea866ef5977801eb39a1694..427bdef2006165db46e1fa0378bf231b1b8da55b 100644
--- a/configure/modules/RULES_VLIBS
+++ b/configure/modules/RULES_VLIBS
@@ -1,7 +1,7 @@
 
-.PHONY: vlibs
+#.PHONY: vlibs
 
 ## Install vendor libraries
-vlibs: conf
-	$(QUIET) $(E3_MODULE_MAKE_CMDS) vlibs
+#vlibs: conf
+#	$(QUIET) $(E3_MODULE_MAKE_CMDS) vlibs
 
diff --git a/require-ess/tools/driver.makefile b/require-ess/tools/driver.makefile
index df17899cad81d8347748d55fda99ee8fb173308a..41e9739a1c9f6055e119d8c4632f69b8d9ea889b 100644
--- a/require-ess/tools/driver.makefile
+++ b/require-ess/tools/driver.makefile
@@ -506,6 +506,9 @@ export USR_LIBOBJS
 BINS += $(foreach x, ${VAR_EXTENSIONS}, ${BINS_$x})
 export BINS
 
+VLIBS = $(VENDOR_LIBS) $(foreach x,$(VAR_EXTENSIONS),$(VENDOR_LIBS_$x))
+export VLIBS
+
 export CFG
 
 # These variables are written into a .yaml file in the installed module directory to keep track of 
@@ -566,6 +569,7 @@ BASERULES=${EPICS_BASE}/configure/RULES
 INSTALL_REV     = ${MODULE_LOCATION}
 INSTALL_BIN     = ${INSTALL_REV}/bin/$(T_A)
 INSTALL_LIB     = ${INSTALL_REV}/lib/$(T_A)
+INSTALL_VLIB   = ${INSTALL_REV}/lib/$(T_A)/vendor
 INSTALL_INCLUDE = ${INSTALL_REV}/include
 INSTALL_DBD     = ${INSTALL_REV}/dbd
 INSTALL_DB      = ${INSTALL_REV}/db
@@ -744,6 +748,7 @@ EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS)
 
 # Find all sources and set vpath accordingly.
 $(foreach file, ${SRCS} ${TEMPLS} ${DBDINSTALLS} ${SCR}, $(eval vpath $(notdir ${file}) ../$(dir ${file})))
+$(foreach file,${VLIBS},$(eval vpath $(notdir ${file}) $(dir ${file})))
 
 # Do not treat %.dbd the same way because it creates a circular dependency
 # if a source dbd has the same name as the project dbd. Have to clear %.dbd and not use ../ path.
@@ -774,6 +779,7 @@ ${MODULEDBD}: ${DBDFILES}
 
 # Install everything.
 INSTALL_LIBS = ${MODULELIB:%=${INSTALL_LIB}/%}
+INSTALL_VLIBS = $(addprefix ${INSTALL_VLIB}/,$(notdir ${VLIBS}))
 INSTALL_DEPS = ${DEPFILE:%=${INSTALL_LIB}/%}
 INSTALL_META = ${METAFILE:%=${INSTALL_REV}/%}
 INSTALL_DBDS = ${MODULEDBD:%=${INSTALL_DBD}/%}
@@ -791,6 +797,7 @@ INSTALL_CFGS = $(CFG:%=${INSTALL_CFG}/%)
 debug::
 	@echo "INSTALL_LIB = $(INSTALL_LIB)"
 	@echo "INSTALL_LIBS = $(INSTALL_LIBS)"
+	@echo "INSTALL_VLIBS = $(INSTALL_VLIBS)"
 	@echo "INSTALL_DEPS = $(INSTALL_DEPS)"
 	@echo "INSTALL_META = $(INSTALL_META)"
 	@echo "INSTALL_DBD = $(INSTALL_DBD)"
@@ -816,7 +823,7 @@ debug::
 endef
 $(foreach d,$(HDR_SUBDIRS),$(eval $(call install_subdirs,$d)))
 
-INSTALLS += ${INSTALL_CFGS} ${INSTALL_SCRS} ${INSTALL_HDRS} ${INSTALL_DBDS} ${INSTALL_DBS} ${INSTALL_LIBS} ${INSTALL_BINS} ${INSTALL_DEPS} ${INSTALL_META}
+INSTALLS += ${INSTALL_CFGS} ${INSTALL_SCRS} ${INSTALL_HDRS} ${INSTALL_DBDS} ${INSTALL_DBS} ${INSTALL_LIBS} ${INSTALL_VLIBS} ${INSTALL_BINS} ${INSTALL_DEPS} ${INSTALL_META}
 
 install: ${INSTALLS}
 
@@ -828,6 +835,10 @@ ${INSTALL_LIBS}: $(notdir ${INSTALL_LIBS})
 	@echo "Installing module library $@"
 	$(INSTALL) -d -m$(SHRLIB_PERMISSIONS) $< $(@D)
 
+${INSTALL_VLIBS}: $(notdir ${INSTALL_VLIBS})
+	@echo "Installing vendor library $^ to $(@D)"
+	$(INSTALL) -d -m$(SHRLIB_PERMISSIONS) $^ $(@D)
+
 ${INSTALL_DEPS}: $(notdir ${INSTALL_DEPS})
 	@echo "Installing module dependency file $@"
 	$(INSTALL) -d -m$(INSTALL_PERMISSIONS) $< $(@D)