| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | # Maintainer makefile for Automake.  Requires GNU make.# Copyright (C) 2012-2017 Free Software Foundation, Inc.## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2, or (at your option)# any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program.  If not, see <http://www.gnu.org/licenses/>.ifeq ($(filter bootstrap,$(MAKECMDGOALS)),)ifeq ($(wildcard Makefile),)  # Any target but 'bootstrap' specified in an unconfigured tree  # is an error, even when the user is running GNU make.  $(warning There seems to be no Makefile in this directory.)  $(warning You must run ./configure before running 'make'.)  $(error Fatal Error)endifinclude ./Makefileinclude $(srcdir)/maintainer/maint.mkinclude $(srcdir)/maintainer/syntax-checks.mkelse # ! bootstrap in $(MAKECMDGOALS)other-targets := $(filter-out bootstrap,$(MAKECMDGOALS))config-status := $(wildcard ./config.status)BOOTSTRAP_SHELL ?= /bin/shexport BOOTSTRAP_SHELL# Allow the user (or more likely the developer) to ask for a bootstrap# of the package.## Two issues that must be kept in mind in the implementation below:##  [1] "make bootstrap" can be invoked before 'configure' is run (and in#      fact, even before it is created, if we are bootstrapping from a#      freshly-cloned checkout).##  [2] When re-bootstrapping an already configured tree, we must ensure#      that the automatic remake rules for Makefile and company do not#      kick in, because the tree might be in an inconsistent state (e.g.,#      we have just switched from 'maint' to 'master', and have the built#      'automake' script left from 'maint', but the files 'lib/am/*.am'#      are from 'master': if 'automake' gets run and uses those files --#      boom!).ifdef config-status # Bootstrap from an already-configured tree.  # We need the definition of $(srcdir) in the 'bootstrap' rule  # below.  srcdir := $(shell echo @srcdir@ | $(config-status) --file=-)  ifndef srcdir    $(error Could not obtain $$(srcdir) from $(config-status))  endif  # Also, if we are re-bootstrapping an already-configured tree, we  # want to re-configure it with the same pre-existing configuration.  old-configure-flags := $(shell $(config-status) --config)else # Assume we are bootstrapping from an unconfigured srcdir.  srcdir := .  old-configure-flags :=endifconfigure-flags := $(old-configure-flags) $(BOOTSTRAP_CONFIGURE_FLAGS).PHONY: bootstrapbootstrap:	cd $(srcdir) && $(SHELL) ./bootstrap	$(srcdir)/configure $(configure-flags)	$(MAKE) clean	$(MAKE) check TESTS=t/get-sysconf# Ensure that all the specified targets but 'bootstrap' (if any) are# run with a properly re-bootstrapped tree.ifdef other-targets$(other-targets): restart.PHONY: $(other-targets) restartrestart: bootstrap; $(MAKE) $(AM_MAKEFLAGS) $(other-targets)endifendif # ! bootstrap in $(MAKECMDGOALS)
 |