68 lines
2.4 KiB
Plaintext
68 lines
2.4 KiB
Plaintext
$(DEPDIR)/deps-ver: $(top_srcdir)/deps-ver
|
|
@[ -f $@ ] || \
|
|
cp $(top_srcdir)/deps-ver $@
|
|
@[ -w $@ ] || \
|
|
chmod ug+w $@
|
|
@cmp $(top_srcdir)/deps-ver $@ > /dev/null || ( \
|
|
$(MAKE) clean && \
|
|
echo -n "Prior $(subdir)/$(DEPDIR) version " && \
|
|
cat $@ && \
|
|
rm -rf $(DEPDIR) && \
|
|
mkdir $(DEPDIR) && \
|
|
case "$(top_builddir)" in \
|
|
.) \
|
|
./config.status Makefile depfiles \
|
|
;; \
|
|
..) \
|
|
cd .. && \
|
|
./config.status $(subdir)/Makefile depfiles && \
|
|
cd $(subdir) \
|
|
;; \
|
|
*) \
|
|
echo 'Fatal: depsver.mf Automake fragment limited' \
|
|
'to immediate subdirectories.' && \
|
|
echo "top_builddir: $(top_builddir)" && \
|
|
echo "subdir: $(subdir)" && \
|
|
exit 1 \
|
|
;; \
|
|
esac && \
|
|
echo -n "Cleaned $(subdir)/$(DEPDIR) version " && \
|
|
cat $(top_srcdir)/deps-ver \
|
|
)
|
|
cp $(top_srcdir)/deps-ver $@
|
|
|
|
.deps-ver: $(top_srcdir)/deps-ver
|
|
@[ ! -d $(DEPDIR) ] || $(MAKE) $(DEPDIR)/deps-ver
|
|
@touch $@
|
|
|
|
BUILT_SOURCES += .deps-ver
|
|
CLEANFILES += .deps-ver
|
|
|
|
#
|
|
# depsver.mf included in Makefile.am for directories with .deps
|
|
#
|
|
# When building in the same directory with sources that change over
|
|
# time, such as when tracking using bk, the .deps files can become
|
|
# stale with respect to moved, deleted, or superceded headers. Most
|
|
# commonly, this would exhibit as make reporting a failure to make a
|
|
# header file which is no longer in the location given. To address
|
|
# this issue, we use a deps-ver file which is updated with each change
|
|
# that breaks old .deps files. A copy of deps-ver is made into
|
|
# $(DEPDIR) if not already present. If $(DEPDIR)/deps-ver is present
|
|
# with different contents than deps-ver, we make clean to ensure all
|
|
# .o files built before the incompatible change are rebuilt along with
|
|
# their updated .deps files, then remove $(DEPDIR) and recreate it as
|
|
# empty stubs.
|
|
#
|
|
# It is normal when configured with --disable-dependency-tracking for
|
|
# the DEPDIR to not have been created. For this reason, we use the
|
|
# intermediate target .deps-ver, which invokes make recursively if
|
|
# DEPDIR exists.
|
|
#
|
|
# If you modify depsver.mf, please make the changes to the master
|
|
# copy, the one in sntp is copied by the bootstrap script from it.
|
|
#
|
|
# This comment block follows rather than leads the related code so that
|
|
# it stays with it in the generated Makefile.in and Makefile.
|
|
#
|