diff --git a/Make.rules.in b/Make.rules.in
index 2bee63806d597605f139317ac41f0e8752a61f2f..19e9e4989ffefe35296ad59423d9a62a1ceab380 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -158,7 +158,7 @@ DLLS = \
 
 # Implicit rules
 
-.SUFFIXES: .rc .res .spec .spec.c .spec.o .glue.c
+.SUFFIXES: .mc .rc .res .spec .spec.c .spec.o .glue.c
 
 .c.o:
 	$(CC) -c $(ALLCFLAGS) -o $*.o $<
@@ -172,6 +172,9 @@ DLLS = \
 .S.o:
 	$(CC) -c -o $*.o $<  
 
+.mc.rc:
+	$(WMC) -i -H /dev/null -o $@ $<
+
 .rc.s:
 	$(WRC) $(WRCFLAGS) $(WRCEXTRA) $(DIVINCL) $<
 
@@ -276,7 +279,7 @@ $(EXTRASUBDIRS:%=%/__clean__): dummy
 	-cd `dirname $@` && $(RM) $(CLEAN_FILES)
 
 clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
-	$(RM) $(CLEAN_FILES) $(GEN_C_SRCS) $(GEN_ASM_SRCS) $(RC_SRCS:.rc=.s) $(RC_SRCS:.rc=.h) $(PROGRAMS)
+	$(RM) $(CLEAN_FILES) $(GEN_C_SRCS) $(GEN_ASM_SRCS) $(RC_SRCS:.rc=.s) $(RC_SRCS:.rc=.h) $(MC_SRCS:.mc=.rc) $(PROGRAMS)
 
 # Rules for installing
 
@@ -294,6 +297,8 @@ $(GLUE:.c=.glue.c): $(BUILD) $(TOPSRCDIR)/include/builtin16.h $(TOPSRCDIR)/inclu
 
 $(RC_SRCS:.rc=.s): $(WRC)
 
+$(MC_SRCS:.mc=.rc): $(WMC)
+
 $(SUBDIRS): dummy
 	@cd $@ && $(MAKE)