@@ -295,10 +295,10 @@ AUTOCONF = @AUTOCONF@
295295AUTOHEADER = @AUTOHEADER@
296296AUTOMAKE = @AUTOMAKE@
297297AWK = @AWK@
298- BLUEZ_BUILD_DIRECTORY = @BLUEZ_BUILD_DIRECTORY@
299298BLUEZ_CPPFLAGS = @BLUEZ_CPPFLAGS@
300299BLUEZ_LDFLAGS = @BLUEZ_LDFLAGS@
301300BLUEZ_LIBS = @BLUEZ_LIBS@
301+ BLUEZ_SUBDIRS = @BLUEZ_SUBDIRS@
302302CC = @CC@
303303CCDEPMODE = @CCDEPMODE@
304304CFLAGS = @CFLAGS@
@@ -385,15 +385,19 @@ MKDIR_P = @MKDIR_P@
385385NLASSERT_CPPFLAGS = @NLASSERT_CPPFLAGS@
386386NLASSERT_LDFLAGS = @NLASSERT_LDFLAGS@
387387NLASSERT_LIBS = @NLASSERT_LIBS@
388+ NLASSERT_SUBDIRS = @NLASSERT_SUBDIRS@
388389NLFAULTINJECTION_CPPFLAGS = @NLFAULTINJECTION_CPPFLAGS@
389390NLFAULTINJECTION_LDFLAGS = @NLFAULTINJECTION_LDFLAGS@
390391NLFAULTINJECTION_LIBS = @NLFAULTINJECTION_LIBS@
392+ NLFAULTINJECTION_SUBDIRS = @NLFAULTINJECTION_SUBDIRS@
391393NLIO_CPPFLAGS = @NLIO_CPPFLAGS@
392394NLIO_LDFLAGS = @NLIO_LDFLAGS@
393395NLIO_LIBS = @NLIO_LIBS@
394- NLUNITTEST_CPPFLAGS = @NLUNITTEST_CPPFLAGS@
395- NLUNITTEST_LDFLAGS = @NLUNITTEST_LDFLAGS@
396- NLUNITTEST_LIBS = @NLUNITTEST_LIBS@
396+ NLIO_SUBDIRS = @NLIO_SUBDIRS@
397+ NLUNIT_TEST_CPPFLAGS = @NLUNIT_TEST_CPPFLAGS@
398+ NLUNIT_TEST_LDFLAGS = @NLUNIT_TEST_LDFLAGS@
399+ NLUNIT_TEST_LIBS = @NLUNIT_TEST_LIBS@
400+ NLUNIT_TEST_SUBDIRS = @NLUNIT_TEST_SUBDIRS@
397401NL_PROJECT_CONFIG_INCLUDES = @NL_PROJECT_CONFIG_INCLUDES@
398402NM = @NM@
399403NMEDIT = @NMEDIT@
@@ -546,6 +550,7 @@ EXTRA_DIST = \
546550 BUILDING.md \
547551 CONTRIBUTING.md \
548552 Makefile-Android \
553+ Makefile-bootstrap \
549554 Makefile-iOS \
550555 Makefile-Standalone \
551556 README.md \
@@ -557,6 +562,7 @@ EXTRA_DIST = \
557562 .travis/script.sh \
558563 bootstrap \
559564 bootstrap-configure \
565+ repos.conf \
560566 $(srcdir ) /build/autoconf \
561567 $(srcdir ) /build/config \
562568 $(srcdir ) /build/cstyle/cstyle.options \
@@ -603,7 +609,30 @@ PRETTY_FILES := $(NULL)
603609# When present, the .local-version file is preferred first, the
604610# .dist-version second, and the .default-version last.
605611#
612+
613+ # VERSION_FILE should be and is intentionally an immediate (:=) rather
614+ # than a deferred (=) variable to ensure the value binds once and only once
615+ # for a given MAKELEVEL even as .local-version and .dist-version are created
616+ # during makefile execution.
606617VERSION_FILE := $(if $(wildcard $(builddir ) /.local-version) ,$(builddir ) /.local-version,$(if $(wildcard $(srcdir ) /.dist-version) ,$(srcdir ) /.dist-version,$(srcdir ) /.default-version) )
618+
619+ #
620+ # When we run 'distcheck' and --with-<any of the third-party packages
621+ # listed in repos.conf>, default to 'internal', the nlbuild-autotools
622+ # infrastructure will attempt to create git paths to manage the
623+ # package repo. Two directories need to be writable to facilitate
624+ # this.
625+ #
626+
627+ #
628+ # BlueZ is not well set-up without patching to handle 'make distcheck';
629+ # disable it for that target.
630+ #
631+ # We also want a more cursory sanity check for 'distcheck'; consequently,
632+ # skip running the Happy-centric tests.
633+ #
634+ DISTCHECK_CONFIGURE_FLAGS = ` chmod u+w .. ../third_party ` \
635+ --without-bluez --without-happy
607636weave_tooldist_alias = \
608637 $(PACKAGE_TARNAME ) -tools
609638
@@ -1034,7 +1063,7 @@ distclean: distclean-recursive
10341063 -rm -f $(am__CONFIG_DISTCLEAN_FILES )
10351064 -rm -f Makefile
10361065distclean-am : clean-am distclean-generic distclean-libtool \
1037- distclean-tags
1066+ distclean-local distclean- tags
10381067
10391068dvi : dvi-recursive
10401069
@@ -1104,10 +1133,10 @@ uninstall-am: uninstall-dist_docDATA
11041133 clean-libtool cscope cscopelist-am ctags ctags-am dist \
11051134 dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
11061135 dist-tarZ dist-xz dist-zip distcheck distclean \
1107- distclean-generic distclean-libtool distclean-tags \
1108- distcleancheck distdir distuninstallcheck dvi dvi-am html \
1109- html-am info info-am install install-am install-data \
1110- install-data-am install-dist_docDATA install-dvi \
1136+ distclean-generic distclean-libtool distclean-local \
1137+ distclean-tags distcleancheck distdir distuninstallcheck dvi \
1138+ dvi-am html html -am info info-am install install-am \
1139+ install-data install-data -am install-dist_docDATA install-dvi \
11111140 install-dvi-am install-exec install-exec-am install-html \
11121141 install-html-am install-info install-info-am install-man \
11131142 install-pdf install-pdf-am install-ps install-ps-am \
@@ -1127,12 +1156,20 @@ include $(abs_top_nlbuild_autotools_dir)/automake/pre.am
11271156
11281157#
11291158# Override autotool's default notion of the package version variables.
1130- # This ensures that when we create a source distribution that the
1131- # version is always the current version, not the version when the
1132- # package was bootstrapped.
1159+ # This ensures that when we create a source distribution the
1160+ # version is always the current version, not the package bootstrap
1161+ # version.
1162+ #
1163+ # The two-level variables and the check against MAKELEVEL ensures that
1164+ # not only can the package version be overridden from the command line
1165+ # but also when the version is NOT overridden that we bind the version
1166+ # once and only once across potential sub-makes to prevent the version
1167+ # from flapping as VERSION_FILE changes.
11331168#
11341169
1135- WEAVE_VERSION ?= $(shell cat $(VERSION_FILE ) 2> /dev/null)
1170+ export MAYBE_WEAVE_VERSION := $(if $(filter 0,$(MAKELEVEL ) ) ,$(shell cat $(VERSION_FILE ) 2> /dev/null) ,$(MAYBE_WEAVE_VERSION ) )
1171+
1172+ WEAVE_VERSION ?= $(MAYBE_WEAVE_VERSION )
11361173
11371174#
11381175# check-file-.local-version
@@ -1188,10 +1225,22 @@ $(distdir)/.dist-version: $(builddir)/.local-version force
11881225$(distdir ) /.dist-version $(builddir ) /.local-version :
11891226 $(call check-file,$(@F ) )
11901227
1191- dist distcheck install-headers : $(BUILT_SOURCES )
1228+ dist distcheck distdir install-headers : $(BUILT_SOURCES )
11921229
11931230dist-hook : $(distdir ) /.dist-version
11941231
1232+ # If you are synchronizing a package on which yours depends using 'repos.conf',
1233+ # to 'third_party', uncomment and adapt or delete this, as needed. If you choose
1234+ # to use this, please also take a look at Makefile.am and third_party/Makefile.am
1235+ # and uncomment the appropriate sections there.
1236+
1237+ #
1238+ # Ensure any locally synchronized repositories defined by 'repos.conf'
1239+ # are cleaned up.
1240+ #
1241+ distclean-local :
1242+ $(MAKE ) -C $(srcdir ) -f Makefile-bootstrap clean-repos
1243+
11951244#
11961245# Top-level convenience target for making a documentation-only
11971246# distribution whose results appear at the top level of the build tree
0 commit comments