--- a/build/Makefile.win32.features
+++ b/build/Makefile.win32.features
@@ -37,3 +37,3 @@
 CAIRO_HAS_PTHREAD=0
-CAIRO_HAS_GOBJECT_FUNCTIONS=0
+CAIRO_HAS_GOBJECT_FUNCTIONS=1
 CAIRO_HAS_TRACE=0
--- a/util/cairo-gobject/Makefile.win32
+++ b/util/cairo-gobject/Makefile.win32
@@ -0,0 +1,24 @@
+top_srcdir = ../..
+include $(top_srcdir)/build/Makefile.win32.common
+
+CAIRO_LIB = $(top_srcdir)/src/$(CFG)/cairo.lib
+SOURCES = \
+	cairo-gobject-enums.c \
+	cairo-gobject-structs.c
+
+OBJECTS = $(patsubst %.c, $(CFG)/%.obj, $(SOURCES))
+
+dynamic: inform $(CFG)/cairo-gobject.dll
+
+$(CFG)/%.obj: %.c $(top_srcdir)/src/cairo-features.h
+	@mkdir -p $(CFG)/`dirname $<`
+	@$(CC) $(CAIRO_CFLAGS) $(GOBJECT_CFLAGS) -c -Fo"$@" $<
+
+$(CFG)/cairo-gobject.dll: $(OBJECTS)
+	@$(LD) $(CAIRO_LDFLAGS) $(GOBJECT_LDFLAGS) -DLL -OUT:$@ $(CAIRO_LIB) $(GOBJECT_LIBS) $(OBJECTS)
+
+all: inform $(CFG)/cairo-gobject.dll
+	@echo "Built successfully!"
+	@echo "You should copy the following files to a proper place now:"
+	@echo ""
+	@echo "	util/cairo-gobject/$(CFG)/cairo-gobject.dll"
