Annotation of embedaddon/ntp/depsver.mf, revision 1.1
1.1 ! misho 1: $(DEPDIR)/deps-ver: $(top_srcdir)/deps-ver
! 2: @[ -f $@ ] || \
! 3: cp $(top_srcdir)/deps-ver $@
! 4: @[ -w $@ ] || \
! 5: chmod ug+w $@
! 6: @cmp $(top_srcdir)/deps-ver $@ > /dev/null || ( \
! 7: $(MAKE) clean && \
! 8: echo -n "Prior $(subdir)/$(DEPDIR) version " && \
! 9: cat $@ && \
! 10: rm -rf $(DEPDIR) && \
! 11: mkdir $(DEPDIR) && \
! 12: case "$(top_builddir)" in \
! 13: .) \
! 14: ./config.status Makefile depfiles \
! 15: ;; \
! 16: ..) \
! 17: cd .. && \
! 18: ./config.status $(subdir)/Makefile depfiles && \
! 19: cd $(subdir) \
! 20: ;; \
! 21: *) \
! 22: echo 'Fatal: depsver.mf Automake fragment limited' \
! 23: 'to immediate subdirectories.' && \
! 24: echo "top_builddir: $(top_builddir)" && \
! 25: echo "subdir: $(subdir)" && \
! 26: exit 1 \
! 27: ;; \
! 28: esac && \
! 29: echo -n "Cleaned $(subdir)/$(DEPDIR) version " && \
! 30: cat $(top_srcdir)/deps-ver \
! 31: )
! 32: cp $(top_srcdir)/deps-ver $@
! 33:
! 34: .deps-ver: $(top_srcdir)/deps-ver
! 35: @[ ! -d $(DEPDIR) ] || $(MAKE) $(DEPDIR)/deps-ver
! 36: @touch $@
! 37:
! 38: BUILT_SOURCES += .deps-ver
! 39: CLEANFILES += .deps-ver
! 40:
! 41: #
! 42: # depsver.mf included in Makefile.am for directories with .deps
! 43: #
! 44: # When building in the same directory with sources that change over
! 45: # time, such as when tracking using bk, the .deps files can become
! 46: # stale with respect to moved, deleted, or superceded headers. Most
! 47: # commonly, this would exhibit as make reporting a failure to make a
! 48: # header file which is no longer in the location given. To address
! 49: # this issue, we use a deps-ver file which is updated with each change
! 50: # that breaks old .deps files. A copy of deps-ver is made into
! 51: # $(DEPDIR) if not already present. If $(DEPDIR)/deps-ver is present
! 52: # with different contents than deps-ver, we make clean to ensure all
! 53: # .o files built before the incompatible change are rebuilt along with
! 54: # their updated .deps files, then remove $(DEPDIR) and recreate it as
! 55: # empty stubs.
! 56: #
! 57: # It is normal when configured with --disable-dependency-tracking for
! 58: # the DEPDIR to not have been created. For this reason, we use the
! 59: # intermediate target .deps-ver, which invokes make recursively if
! 60: # DEPDIR exists.
! 61: #
! 62: # If you modify depsver.mf, please make the changes to the master
! 63: # copy, the one in sntp is copied by the bootstrap script from it.
! 64: #
! 65: # This comment block follows rather than leads the related code so that
! 66: # it stays with it in the generated Makefile.in and Makefile.
! 67: #
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>