On both my older and newer MinGW-s, make -f makefile.win32 ended up with:
make[1]: Entering directory '.../geany/plugins' gcc -O2 -Wall -pipe -mms-bitfields -DHAVE_CONFIG_H -DGTK -I.. -I../src -I../scintilla/include -I../tagmanager/src -Id:/opt/gtk+/include/gtk-2.0 -Id:/opt/gtk+/lib/gtk-2.0/include -Id:/opt/gtk+/include/atk-1.0 -Id:/opt/gtk+/include/cairo -Id:/opt/gtk+/include/gdk-pixbuf-2.0 -Id:/opt/gtk+/include/pango-1.0 -Id:/opt/gtk+/include/glib-2.0 -Id:/opt/gtk+/lib/glib-2.0/include -Id:/opt/gtk+/include -Id:/opt/gtk+/include/gettext -o htmlchars.o -c htmlchars.c gcc -shared htmlchars.o -L"d:/opt/gtk+/lib" -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -liconv -o htmlchars.dll
htmlchars.o:htmlchars.c:(.text+0x2a): undefined reference to `utils_str_equal' htmlchars.o:htmlchars.c:(.text+0x3e): undefined reference to `utils_str_equal' htmlchars.o:htmlchars.c:(.text+0x68): undefined reference to `document_get_curre nt' htmlchars.o:htmlchars.c:(.text+0x7c): undefined reference to `sci_has_selection' htmlchars.o:htmlchars.c:(.text+0xa8): undefined reference to `sci_get_selection_ contents' <long list of additional undefined references>
Lacking -lgeany perhaps?
(Personally I'm not a fan of makefile.win32, since you can't build geany-plugins with it.)
-- E-gards: Jimmy