diff --git a/common.mak b/common.mak
index 0274a5a72575da58ad6cb298c1e6fada815423bc..feee94f575a496f7f679be6d623cfabee3adc462 100644
--- a/common.mak
+++ b/common.mak
@@ -42,12 +42,18 @@ $(SLIBNAME_WITH_MAJOR): $(SHARED_OBJS)
 %: %.o $(LIB)
 	$(CC) $(LDFLAGS) -o $@ $^ $(EXTRALIBS)
 
+%.ho: %.h
+	$(CC) $(CFLAGS) $(LIBOBJFLAGS) -Wno-unused -c -o $@ -x c $<
+
+ALLHEADERS = $(subst $(VPATH)/,,$(wildcard $(VPATH)/*.h))
+checkheaders: $(filter-out %_template.ho,$(ALLHEADERS:.h=.ho))
+
 depend dep: $(SRCS)
 	$(CC) -MM $(CFLAGS) $^ 1>.depend
 
 clean::
 	rm -f *.o *~ *.a *.lib *.so *.so.* *.dylib *.dll \
-	      *.def *.dll.a *.exp
+	      *.def *.dll.a *.exp *.ho
 
 distclean: clean
 	rm -f .depend