Blame GNUmakefile

Packit Service 9646c7
# Having a separate GNUmakefile lets me 'include' the dynamically
Packit Service 9646c7
# generated rules created via cfg.mk (package-local configuration)
Packit Service 9646c7
# as well as maint.mk (generic maintainer rules).
Packit Service 9646c7
# This makefile is used only if you run GNU Make.
Packit Service 9646c7
# It is necessary if you want to build targets usually of interest
Packit Service 9646c7
# only to the maintainer.
Packit Service 9646c7
Packit Service 9646c7
# Copyright (C) 2001, 2003, 2006-2012 Free Software Foundation, Inc.
Packit Service 9646c7
Packit Service 9646c7
# This program is free software: you can redistribute it and/or modify
Packit Service 9646c7
# it under the terms of the GNU General Public License as published by
Packit Service 9646c7
# the Free Software Foundation, either version 3 of the License, or
Packit Service 9646c7
# (at your option) any later version.
Packit Service 9646c7
Packit Service 9646c7
# This program is distributed in the hope that it will be useful,
Packit Service 9646c7
# but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 9646c7
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service 9646c7
# GNU General Public License for more details.
Packit Service 9646c7
Packit Service 9646c7
# You should have received a copy of the GNU General Public License
Packit Service 9646c7
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
Packit Service 9646c7
Packit Service 9646c7
# If the user runs GNU make but has not yet run ./configure,
Packit Service 9646c7
# give them a diagnostic.
Packit Service 9646c7
_gl-Makefile := $(wildcard [M]akefile)
Packit Service 9646c7
ifneq ($(_gl-Makefile),)
Packit Service 9646c7
Packit Service 9646c7
# Make tar archive easier to reproduce.
Packit Service 9646c7
export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
Packit Service 9646c7
Packit Service 9646c7
# Allow the user to add to this in the Makefile.
Packit Service 9646c7
ALL_RECURSIVE_TARGETS =
Packit Service 9646c7
Packit Service 9646c7
include Makefile
Packit Service 9646c7
Packit Service 9646c7
# Some projects override e.g., _autoreconf here.
Packit Service 9646c7
-include $(srcdir)/cfg.mk
Packit Service 9646c7
Packit Service 9646c7
# Allow cfg.mk to override these.
Packit Service 9646c7
_build-aux ?= build-aux
Packit Service 9646c7
_autoreconf ?= autoreconf -v
Packit Service 9646c7
Packit Service 9646c7
include $(srcdir)/maint.mk
Packit Service 9646c7
Packit Service 9646c7
# Ensure that $(VERSION) is up to date for dist-related targets, but not
Packit Service 9646c7
# for others: rerunning autoreconf and recompiling everything isn't cheap.
Packit Service 9646c7
_have-git-version-gen := \
Packit Service 9646c7
  $(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes)
Packit Service 9646c7
ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL))
Packit Service 9646c7
  _is-dist-target ?= $(filter-out %clean, \
Packit Service 9646c7
    $(filter maintainer-% dist% alpha beta stable,$(MAKECMDGOALS)))
Packit Service 9646c7
  _is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS)))
Packit Service 9646c7
  ifneq (,$(_is-dist-target)$(_is-install-target))
Packit Service 9646c7
    _curr-ver := $(shell cd $(srcdir)				\
Packit Service 9646c7
                   && $(_build-aux)/git-version-gen		\
Packit Service 9646c7
                         .tarball-version			\
Packit Service 9646c7
                         $(git-version-gen-tag-sed-script))
Packit Service 9646c7
    ifneq ($(_curr-ver),$(VERSION))
Packit Service 9646c7
      ifeq ($(_curr-ver),UNKNOWN)
Packit Service 9646c7
        $(info WARNING: unable to verify if $(VERSION) is the correct version)
Packit Service 9646c7
      else
Packit Service 9646c7
        ifneq (,$(_is-install-target))
Packit Service 9646c7
          # GNU Coding Standards state that 'make install' should not cause
Packit Service 9646c7
          # recompilation after 'make all'.  But as long as changing the version
Packit Service 9646c7
          # string alters config.h, the cost of having 'make all' always have an
Packit Service 9646c7
          # up-to-date version is prohibitive.  So, as a compromise, we merely
Packit Service 9646c7
          # warn when installing a version string that is out of date; the user
Packit Service 9646c7
          # should run 'autoreconf' (or something like 'make distcheck') to
Packit Service 9646c7
          # fix the version, 'make all' to propagate it, then 'make install'.
Packit Service 9646c7
          $(info WARNING: version string $(VERSION) is out of date;)
Packit Service 9646c7
          $(info run '$(MAKE) _version' to fix it)
Packit Service 9646c7
        else
Packit Service 9646c7
          $(info INFO: running autoreconf for new version string: $(_curr-ver))
Packit Service 9646c7
GNUmakefile: _version
Packit Service 9646c7
	touch GNUmakefile
Packit Service 9646c7
        endif
Packit Service 9646c7
      endif
Packit Service 9646c7
    endif
Packit Service 9646c7
  endif
Packit Service 9646c7
endif
Packit Service 9646c7
Packit Service 9646c7
.PHONY: _version
Packit Service 9646c7
_version:
Packit Service 9646c7
	cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf)
Packit Service 9646c7
	$(MAKE) $(AM_MAKEFLAGS) Makefile
Packit Service 9646c7
Packit Service 9646c7
else
Packit Service 9646c7
Packit Service 9646c7
.DEFAULT_GOAL := abort-due-to-no-makefile
Packit Service 9646c7
srcdir = .
Packit Service 9646c7
Packit Service 9646c7
# The package can override .DEFAULT_GOAL to run actions like autoreconf.
Packit Service 9646c7
-include ./cfg.mk
Packit Service 9646c7
Packit Service 9646c7
# Allow cfg.mk to override these.
Packit Service 9646c7
_build-aux ?= build-aux
Packit Service 9646c7
_autoreconf ?= autoreconf -v
Packit Service 9646c7
Packit Service 9646c7
include ./maint.mk
Packit Service 9646c7
Packit Service 9646c7
ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile)
Packit Service 9646c7
$(MAKECMDGOALS): abort-due-to-no-makefile
Packit Service 9646c7
endif
Packit Service 9646c7
Packit Service 9646c7
abort-due-to-no-makefile:
Packit Service 9646c7
	@echo There seems to be no Makefile in this directory.   1>&2
Packit Service 9646c7
	@echo "You must run ./configure before running 'make'." 1>&2
Packit Service 9646c7
	@exit 1
Packit Service 9646c7
Packit Service 9646c7
endif
Packit Service 9646c7
Packit Service 9646c7
# Tell version 3.79 and up of GNU make to not build goals in this
Packit Service 9646c7
# directory in parallel, in case someone tries to build multiple
Packit Service 9646c7
# targets, and one of them can cause a recursive target to be invoked.
Packit Service 9646c7
Packit Service 9646c7
# Only set this if Automake doesn't provide it.
Packit Service 9646c7
AM_RECURSIVE_TARGETS ?= $(RECURSIVE_TARGETS:-recursive=) \
Packit Service 9646c7
  $(RECURSIVE_CLEAN_TARGETS:-recursive=) \
Packit Service 9646c7
  dist distcheck tags ctags
Packit Service 9646c7
Packit Service 9646c7
ALL_RECURSIVE_TARGETS += $(AM_RECURSIVE_TARGETS)
Packit Service 9646c7
Packit Service 9646c7
ifneq ($(word 2, $(MAKECMDGOALS)), )
Packit Service 9646c7
ifneq ($(filter $(ALL_RECURSIVE_TARGETS), $(MAKECMDGOALS)), )
Packit Service 9646c7
.NOTPARALLEL:
Packit Service 9646c7
endif
Packit Service 9646c7
endif