Blame GNUmakefile

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