ifeq ($(PORTNAME), win32)
 
 OBJS=pgevent.o pgmsgevent.o
-NAME=pgevent.dll
+NAME=pgevent
 
-all: $(NAME)
+SHLIB_LINK =
+SHLIB_EXPORTS = exports.txt
+
+all: all-lib
 
 install: all install-lib
 
-pgevent.dll: pgevent.def $(OBJS)
-   $(DLLWRAP) --def $< -o $(NAME) $(OBJS)
+include $(top_srcdir)/src/Makefile.shlib
 
 pgmsgevent.o: pgmsgevent.rc win32ver.rc
    $(WINDRES) $< -o $@ --include-dir=$(top_builddir)/src/include --include-dir=$(top_srcdir)/src/include --include-dir=$(srcdir) --include-dir=.
 
-all-lib: $(NAME)
-
-install-lib: $(NAME)
-   $(INSTALL_STLIB) $< '$(DESTDIR)$(libdir)/$<'
-
-uninstall-lib:
-   rm -f '$(DESTDIR)$(libdir)/$(NAME)'
-
-clean distclean:
-   rm -f $(OBJS) $(NAME) win32ver.rc
-
-clean-lib:
-   rm -f $(NAME)
+clean distclean: clean-lib
+   rm -f $(OBJS) win32ver.rc
 
 endif