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>