Implement automatic dependency generation for manpages.
[openvswitch] / Makefile.am
index 0e2c6d797e1946f4f79d4f29ade7ee8d96f9f3e3..d7144282dd30ce4056815f36cef6c7f10b086dab 100644 (file)
@@ -46,8 +46,10 @@ EXTRA_DIST = \
        SubmittingPatches \
        WHY-OVS \
        boot.sh \
+       build-aux/sodepends.pl \
        build-aux/soexpand.pl \
-       $(MAN_FRAGMENTS)
+       $(MAN_FRAGMENTS) \
+       $(MAN_ROOTS)
 bin_PROGRAMS =
 sbin_PROGRAMS =
 bin_SCRIPTS =
@@ -61,6 +63,7 @@ INSTALL_DATA_LOCAL =
 UNINSTALL_LOCAL =
 man_MANS =
 MAN_FRAGMENTS =
+MAN_ROOTS =
 noinst_DATA =
 noinst_HEADERS =
 noinst_LIBRARIES =
@@ -160,6 +163,17 @@ manpage-check: $(MANS) $(MAN_FRAGMENTS)
 CLEANFILES += manpage-check
 endif
 
+include $(srcdir)/manpages.mk
+$(srcdir)/manpages.mk: $(MAN_ROOTS) build-aux/sodepends.pl
+       @$(PERL) $(srcdir)/build-aux/sodepends.pl -I. -I$(srcdir) $(MAN_ROOTS) >$(@F).tmp
+       @if cmp -s $(@F).tmp $@; then \
+               touch $@; \
+               rm -f $(@F).tmp; \
+       else \
+               mv $(@F).tmp $@; \
+       fi
+CLEANFILES += manpage-dep-check
+
 dist-hook: $(DIST_HOOKS)
 all-local: $(ALL_LOCAL)
 clean-local: $(CLEAN_LOCAL)