diff --git a/servers/slapd/Makefile.in b/servers/slapd/Makefile.in
index ebb21afeebd93f25f99bda9139cba9f6fdae6aa4..98c2a6c2536102a287e59da8b38cacd86556bff6 100644
--- a/servers/slapd/Makefile.in
+++ b/servers/slapd/Makefile.in
@@ -2,7 +2,7 @@
 ## Makefile.in for slapd
 ##
 PROGRAMS=slapd
-XPROGRAMS=sslapd libbackends.a
+XPROGRAMS=sslapd libbackends.a .backend
 XSRCS=version.c
 SRCS	= main.c daemon.c connection.c search.c filter.c add.c charray.c \
 		attr.c entry.c config.c backend.c result.c operation.c \
@@ -39,7 +39,7 @@ XXXLIBS = $(LTHREAD_LIBS) $(MODULES_LIBS)
 BUILD_OPT = "--enable-slapd"
 BUILD_SRV = @BUILD_SLAPD@
 
-all-local-srv: all-cffiles
+all-local-srv: backendslib all-cffiles
 
 slapd: libbackends.a version.o
 	$(LTLINK) -o $@ $(OBJS) version.o $(LIBS)
@@ -48,10 +48,7 @@ slapd: libbackends.a version.o
 sslapd: version.o
 	$(LTLINK) -static -o $@ $(OBJS) version.o $(LIBS)
 
-# dummy equivalent of FORCE when wildcard fails
-back-*/libback*.a:
-
-libbackends.a: back-*/libback*.a
+backendslib: FORCE
 	@for i in back-*; do \
 		if [ -d $$i ]; then \
 			echo " "; echo "  cd $$i; $(MAKE) $(MFLAGS) all"; \
@@ -59,6 +56,10 @@ libbackends.a: back-*/libback*.a
 		fi; \
 	done; \
 	echo " "
+
+.backend: 
+
+libbackends.a: .backend
 	@$(RM) -r tmp
 	@$(MKDIR) tmp
 	@-for i in back-*/*.a; do \
diff --git a/servers/slapd/back-bdb2/Makefile.in b/servers/slapd/back-bdb2/Makefile.in
index cd725400d036bb2cf04f841bc4442209de21fdf7..97ce09b7ae8706798eac9ba0baad35f8b08a8412 100644
--- a/servers/slapd/back-bdb2/Makefile.in
+++ b/servers/slapd/back-bdb2/Makefile.in
@@ -22,3 +22,8 @@ XINCPATH = -I.. -I$(srcdir)/..
 XDEFS = $(MODULES_CPPFLAGS)
 XLDFLAGS = $(MODULES_LDFLAGS)
 
+all-local-lib:	../.backend
+
+../.backend: lib$(LIBBASE).a
+	@touch $@
+
diff --git a/servers/slapd/back-ldap/Makefile.in b/servers/slapd/back-ldap/Makefile.in
index bf7f479a18d4f42842ee356709f857a3f5fee03c..208c16785f1231732e7d6efb4c14640e8086d8ac 100644
--- a/servers/slapd/back-ldap/Makefile.in
+++ b/servers/slapd/back-ldap/Makefile.in
@@ -16,3 +16,8 @@ XINCPATH = -I.. -I$(srcdir)/..
 XDEFS = $(MODULES_CPPFLAGS)
 XLDFLAGS = $(MODULES_LDFLAGS)
 
+all-local-lib:	../.backend
+
+../.backend: lib$(LIBBASE).a
+	@touch $@
+
diff --git a/servers/slapd/back-ldbm/Makefile.in b/servers/slapd/back-ldbm/Makefile.in
index 0ca8bd7edccd23cc4239af6639fe84c37e634257..80c2fad6f8beb200e3efbb8d132a6ca7f5283e63 100644
--- a/servers/slapd/back-ldbm/Makefile.in
+++ b/servers/slapd/back-ldbm/Makefile.in
@@ -20,3 +20,8 @@ XINCPATH = -I.. -I$(srcdir)/..
 XDEFS = $(MODULES_CPPFLAGS)
 XLDFLAGS = $(MODULES_LDFLAGS)
 
+all-local-lib:	../.backend
+
+../.backend: lib$(LIBBASE).a
+	@touch $@
+
diff --git a/servers/slapd/back-passwd/Makefile.in b/servers/slapd/back-passwd/Makefile.in
index 5427f1900fae26af9ede220ce48c80b6f486c6a6..cc329172e708e7b7635e2673c682156cc1b84fbe 100644
--- a/servers/slapd/back-passwd/Makefile.in
+++ b/servers/slapd/back-passwd/Makefile.in
@@ -14,3 +14,8 @@ XINCPATH = -I.. -I$(srcdir)/..
 XDEFS = $(MODULES_CPPFLAGS)
 XLDFLAGS = $(MODULES_LDFLAGS)
 
+all-local-lib:	../.backend
+
+../.backend: lib$(LIBBASE).a
+	@touch $@
+
diff --git a/servers/slapd/back-perl/Makefile.in b/servers/slapd/back-perl/Makefile.in
index 103f863f2611c7a7654e9ea2bb1a41dd615dbbda..ac304be956f31a510b8142195f175b26d944c264 100644
--- a/servers/slapd/back-perl/Makefile.in
+++ b/servers/slapd/back-perl/Makefile.in
@@ -27,3 +27,8 @@ XINCPATH = -I.. -I$(srcdir)/..
 XDEFS = $(PERL_CPPFLAGS) $(MODULES_CPPFLAGS)
 XLDFLAGS = $(MODULES_LDFLAGS)
 
+all-local-lib:	../.backend
+
+../.backend: lib$(LIBBASE).a
+	@touch $@
+
diff --git a/servers/slapd/back-shell/Makefile.in b/servers/slapd/back-shell/Makefile.in
index 3878d0f3399d0232d31dcd73602936fa0ba38720..a84238bd12d3d5e7f8641182ec30004c181a18ad 100644
--- a/servers/slapd/back-shell/Makefile.in
+++ b/servers/slapd/back-shell/Makefile.in
@@ -16,3 +16,8 @@ XINCPATH = -I.. -I$(srcdir)/..
 XDEFS = $(MODULES_CPPFLAGS)
 XLDFLAGS = $(MODULES_LDFLAGS)
 
+all-local-lib:	../.backend
+
+../.backend: lib$(LIBBASE).a
+	@touch $@
+
diff --git a/servers/slapd/back-tcl/Makefile.in b/servers/slapd/back-tcl/Makefile.in
index 62d4fc9a479f1fe11f4ee5a44441e185b859a955..48de79146080d158b82e782cb5b30cd4b25f2727 100644
--- a/servers/slapd/back-tcl/Makefile.in
+++ b/servers/slapd/back-tcl/Makefile.in
@@ -29,3 +29,8 @@ XDEFS = $(MODULES_CPPFLAGS)
 XLDFLAGS = $(MODULES_LDFLAGS)
 XINCPATH = -I.. -I$(srcdir)/..
 
+all-local-lib:	../.backend
+
+../.backend: lib$(LIBBASE).a
+	@touch $@
+