Only run the 32-bit checklink for dlls that contain 16-bit files.
diff --git a/dlls/Makedll.rules.in b/dlls/Makedll.rules.in
index ed55fb4..d1b130a 100644
--- a/dlls/Makedll.rules.in
+++ b/dlls/Makedll.rules.in
@@ -50,10 +50,16 @@
CHECKLINK_RPATH = dlls library unicode
-checklink:: $(MODULE)$(DLLEXT) $(SUBDIRS:%=%/__checklink__)
- $(CC) -o checklink $(CHECKLINK_RPATH:%=-Wl,-rpath,$(TOPOBJDIR)/%) $(TOPSRCDIR)/library/checklink.c $(MODULE)$(DLLEXT) && $(RM) checklink
+.PHONY: checklink16 $(WIN16_FILES:%=__checklink16__%)
+
+$(WIN16_FILES:%=__checklink16__%): checklink16
+
+checklink16:: $(MAINSPEC).o $(OBJS) $(MODULE).dbg.o dummy
$(CC) -o checklink $(CHECKLINK_RPATH:%=-Wl,-rpath,$(TOPOBJDIR)/%) $(TOPSRCDIR)/library/checklink.c $(MAINSPEC).o $(OBJS) $(MODULE).dbg.o -L$(DLLDIR) $(LDIMPORTS:%=-l%) $(ALL_LIBS) && $(RM) checklink
+checklink:: $(MODULE)$(DLLEXT) $(SUBDIRS:%=%/__checklink__) $(WIN16_FILES:%=__checklink16__%)
+ $(CC) -o checklink $(CHECKLINK_RPATH:%=-Wl,-rpath,$(TOPOBJDIR)/%) $(TOPSRCDIR)/library/checklink.c $(MODULE)$(DLLEXT) && $(RM) checklink
+
# Rules for testing
check test:: $(SUBDIRS:%=%/__test__)