diff --git a/contrib/slapd-modules/nops/Makefile b/contrib/slapd-modules/nops/Makefile
index 827a5ba2213d22e09f859bc1d3cdf62bb275e4df..c2ef65d846367c2b60aab2c08215d011b9b51d72 100644
--- a/contrib/slapd-modules/nops/Makefile
+++ b/contrib/slapd-modules/nops/Makefile
@@ -1,9 +1,15 @@
-CPPFLAGS+=-I../../../include -I../../../servers/slapd
+CPPFLAGS+=-I../../../include -I../../../servers/slapd 
+CPPFLAGS+=-DSLAPD_OVER_NOPS=SLAPD_MOD_DYNAMIC
+LIBS=-lldap_r -llber -lcrypto
 
-all: nops.so
+all: nops.la
 
-nops.so: nops.c
-	$(CC) -shared $(CPPFLAGS) -Wall -o $@ $?
+nops.lo:    nops.c
+	$(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) -c $?
+
+nops.la:    nops.lo
+	$(LIBTOOL) --mode=link $(CC) -version-info 0:0:0 \
+		   -rpath $(PREFIX)/lib -module -o $@ $? $(LIBS)
 
 clean:
-	rm nops.so
+	rm nops.lo nops.la