Annotation of embedaddon/ntp/depsver.mf, revision 1.1.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>