194 lines
6.9 KiB
Plaintext
194 lines
6.9 KiB
Plaintext
#
|
|
# Copyright (c) 2016-2018 Nest Labs Inc. All Rights Reserved.
|
|
# Copyright (c) 2018 Google LLC. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
#
|
|
# Description:
|
|
# This file is the GNU automake template for the @PACKAGE_DESCRIPTION@.
|
|
#
|
|
|
|
include $(abs_top_nlbuild_autotools_dir)/automake/pre.am
|
|
|
|
AM_MAKEFLAGS = --no-print-directory
|
|
|
|
SUBDIRS = \
|
|
include \
|
|
src \
|
|
tests \
|
|
doc \
|
|
$(NULL)
|
|
|
|
EXTRA_DIST = \
|
|
Makefile-bootstrap \
|
|
.default-version \
|
|
bootstrap \
|
|
bootstrap-configure \
|
|
$(srcdir)/third_party/nlbuild-autotools \
|
|
$(NULL)
|
|
|
|
BUILT_SOURCES = \
|
|
.local-version \
|
|
$(NULL)
|
|
|
|
dist_doc_DATA = \
|
|
$(NULL)
|
|
|
|
DISTCLEANFILES = \
|
|
.local-version \
|
|
$(NULL)
|
|
|
|
#
|
|
# Package version files:
|
|
#
|
|
# .default-version - The default package version. This file is ALWAYS checked
|
|
# in and should always represent the current baseline
|
|
# version of the package.
|
|
#
|
|
# .dist-version - The distributed package version. This file is NEVER
|
|
# checked in within the upstream repository, is auto-
|
|
# generated, and is only found in the package distribution.
|
|
#
|
|
# .local-version - The current source code controlled package version. This
|
|
# file is NEVER checked in within the upstream repository,
|
|
# is auto-generated, and can always be found in both the
|
|
# build tree and distribution.
|
|
#
|
|
# When present, the .local-version file is preferred first, the
|
|
# .dist-version second, and the .default-version last.
|
|
#
|
|
|
|
# VERSION_FILE should be and is intentionally an immediate (:=) rather
|
|
# than a deferred (=) variable to ensure the value binds once and only once
|
|
# for a given MAKELEVEL even as .local-version and .dist-version are created
|
|
# during makefile execution.
|
|
|
|
VERSION_FILE := $(if $(wildcard $(builddir)/.local-version),$(builddir)/.local-version,$(if $(wildcard $(srcdir)/.dist-version),$(srcdir)/.dist-version,$(srcdir)/.default-version))
|
|
|
|
#
|
|
# Override autotool's default notion of the package version variables.
|
|
# This ensures that when we create a source distribution the
|
|
# version is always the current version, not the package bootstrap
|
|
# version.
|
|
#
|
|
# The two-level variables and the check against MAKELEVEL ensures that
|
|
# not only can the package version be overridden from the command line
|
|
# but also when the version is NOT overridden that we bind the version
|
|
# once and only once across potential sub-makes to prevent the version
|
|
# from flapping as VERSION_FILE changes.
|
|
#
|
|
|
|
export MAYBE_@PACKAGE_SHORT_UPPER@_VERSION := $(if $(filter 0,$(MAKELEVEL)),$(shell cat $(VERSION_FILE) 2> /dev/null),$(MAYBE_@PACKAGE_SHORT_UPPER@_VERSION))
|
|
|
|
@PACKAGE_SHORT_UPPER@_VERSION ?= $(MAYBE_@PACKAGE_SHORT_UPPER@_VERSION)
|
|
|
|
PACKAGE_VERSION = $(@PACKAGE_SHORT_UPPER@_VERSION)
|
|
VERSION = $(PACKAGE_VERSION)
|
|
|
|
#
|
|
# check-file-.local-version
|
|
#
|
|
# Speculatively regenerate .local-version and check to see if it needs
|
|
# to be updated.
|
|
#
|
|
# If @PACKAGE_SHORT_UPPER@_VERSION has been supplied anywhere other than in this file
|
|
# (which is implicitly the contents of .local-version), then use that;
|
|
# otherwise, attempt to generate it from the SCM system.
|
|
#
|
|
# This is called from $(call check-file,.local-version).
|
|
#
|
|
define check-file-.local-version
|
|
if [ "$(origin @PACKAGE_SHORT_UPPER@_VERSION)" != "file" ]; then \
|
|
echo "$(@PACKAGE_SHORT_UPPER@_VERSION)" > "$(2)"; \
|
|
else \
|
|
$(abs_top_nlbuild_autotools_dir)/scripts/mkversion \
|
|
-b "$(@PACKAGE_SHORT_UPPER@_VERSION)" "$(top_srcdir)" \
|
|
> "$(2)"; \
|
|
fi
|
|
endef
|
|
|
|
#
|
|
# check-file-.dist-version
|
|
#
|
|
# Speculatively regenerate .dist-version and check to see if it needs
|
|
# to be updated.
|
|
#
|
|
# This is called from $(call check-file,.dist-version).
|
|
#
|
|
define check-file-.dist-version
|
|
cat "$(1)" > "$(2)"
|
|
endef
|
|
|
|
#
|
|
# A convenience target to allow package users to easily rerun the
|
|
# package configuration according to the current configuration.
|
|
#
|
|
.PHONY: reconfigure
|
|
reconfigure: $(builddir)/config.status
|
|
$(AM_V_at)$(<) --recheck
|
|
|
|
#
|
|
# Version file regeneration rules.
|
|
#
|
|
.PHONY: force
|
|
|
|
$(builddir)/.local-version: $(srcdir)/.default-version force
|
|
|
|
$(distdir)/.dist-version: $(builddir)/.local-version force
|
|
|
|
$(distdir)/.dist-version $(builddir)/.local-version:
|
|
$(call check-file,$(@F))
|
|
|
|
# If you are synchronizing a package on which yours depends using 'repos.conf',
|
|
# to 'third_party', uncomment and adapt or delete this, as needed. If you choose
|
|
# to use this, please also take a look at Makefile.am and third_party/Makefile.am
|
|
# and uncomment the appropriate sections there.
|
|
|
|
# #
|
|
# # When we run 'distcheck' and --with-nlunit_test defaults to 'internal',
|
|
# # the nlbuild-autotools infrastructure will attempt to create git paths
|
|
# # to manage the nlunit-test repo. Two directories need to be writable
|
|
# # to facilitate this.
|
|
# #
|
|
# DISTCHECK_CONFIGURE_FLAGS=`chmod u+w .. ../third_party`
|
|
|
|
dist distcheck distdir install-headers: $(BUILT_SOURCES)
|
|
|
|
dist-hook: $(distdir)/.dist-version
|
|
|
|
# If you are synchronizing a package on which yours depends using 'repos.conf',
|
|
# to 'third_party', uncomment and adapt or delete this, as needed. If you choose
|
|
# to use this, please also take a look at Makefile.am and third_party/Makefile.am
|
|
# and uncomment the appropriate sections there.
|
|
|
|
# #
|
|
# # Ensure any locally synchronized repositories defined by 'repos.conf'
|
|
# # are cleaned up.
|
|
# #
|
|
# distclean-local:
|
|
# $(MAKE) -C $(srcdir) -f Makefile-bootstrap clean-repos
|
|
|
|
#
|
|
# Top-level convenience target for making a documentation-only
|
|
# distribution whose results appear at the top level of the build tree
|
|
# in the same fashion that the distribution would be for 'make dist'.
|
|
#
|
|
|
|
.PHONY: docdist
|
|
docdist: $(BUILT_SOURCES)
|
|
$(MAKE) -C doc docdistdir=$(abs_builddir) $(@)
|
|
|
|
include $(abs_top_nlbuild_autotools_dir)/automake/post.am
|