## automake - create Makefile.in from Makefile.am ## Copyright (C) 2001-2022 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 . ## This dummy rule is called from subdirectories whenever one of the ## top-level Makefile's dependencies must be updated. It does depend ## on %MAKEFILE% for the benefit of non-GNU make implementations (GNU ## make will always make sure %MAKEFILE% is updated before considering ## the am--refresh target anyway). if %?TOPDIR_P% .PHONY: am--refresh am--refresh: %MAKEFILE% @: endif %?TOPDIR_P% ## --------------------- ## ## Building Makefile.*. ## ## --------------------- ## ## This rule remakes the Makefile.in. %MAKEFILE-IN%: %MAINTAINER-MODE% %MAKEFILE-AM% %MAKEFILE-IN-DEPS% $(am__configure_deps) ## If configure.ac or one of configure's dependencies has changed, all ## Makefile.in are to be updated; it is then more efficient to run ## automake on all the Makefiles at once. It also allow Automake to be ## run for newly added directories. @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ?TOPDIR_P? echo ' cd $(srcdir) && $(AUTOMAKE) %AUTOMAKE-OPTIONS%'; \ ?TOPDIR_P? $(am__cd) $(srcdir) && $(AUTOMAKE) %AUTOMAKE-OPTIONS% \ ?TOPDIR_P? && exit 0; \ ?!TOPDIR_P? ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ ## If on the other hand, subdir/Makefile.in has been removed, then toplevel ## am--refresh will not be aware of any need to run. We still invoke it ## due to $? listing all prerequisites. Fix up for it by running the rebuild ## rule for this file only, below. ?!TOPDIR_P? && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ ## Otherwise, rebuild only this file. echo ' cd $(top_srcdir) && $(AUTOMAKE) %AUTOMAKE-OPTIONS% %MAKEFILE-AM-SOURCES%'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) %AUTOMAKE-OPTIONS% %MAKEFILE-AM-SOURCES% ## Ensure that GNU make doesn't remove Makefile if ./config.status (below) ## is interrupted. Otherwise, the user would need to know to rerun ## ./config.status to recreate the lost Makefile. .PRECIOUS: %MAKEFILE% ## This rule remakes the Makefile. %MAKEFILE%: %MAKEFILE-DEPS% $(top_builddir)/config.status ## If Makefile is to be updated because of config.status, then run ## config.status without argument in order to (i) rerun all the ## AC_CONFIG_COMMANDS including those that are not visible to ## Automake, and (ii) to save time by running config.status all with ## all the files, instead of once per file (iii) generate Makefiles ## in newly added directories. @case '$?' in \ ## Don't prefix $(top_builddir), because GNU make will strip it out ## when it's '.'. *config.status*) \ ?TOPDIR_P? echo ' $(SHELL) ./config.status'; \ ?TOPDIR_P? $(SHELL) ./config.status;; \ ?!TOPDIR_P? cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ ## FIXME: $(am__maybe_remake_depfiles) lets us re-run the rule to create the ## .P files. Ideally we wouldn't have to do this by hand. echo ' cd $(top_builddir) && $(SHELL) ./config.status %CONFIG-MAKEFILE% $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status %CONFIG-MAKEFILE% $(am__maybe_remake_depfiles);; \ esac; ## Avoid the "deleted header file" problem for the dependencies. ## Add the trailing "$(am__empty)" to trick Automake into not spuriously ## complaining about "duplicated targets" in case the %MAKEFILE-IN-DEPS% ## list expands to a single target that is also declared in some ## user-defined rule. ?HAVE-MAKEFILE-IN-DEPS?%MAKEFILE-IN-DEPS% $(am__empty): DIST_COMMON += %MAKEFILE-AM% ## --------------------------- ## ## config.status & configure. ## ## --------------------------- ## if %?TOPDIR_P% ## Always require configure.ac and configure at top level, even if they ## don't exist. This is especially important for configure, since it ## won't be created until autoconf is run -- which might be after ## automake is run. DIST_COMMON += $(top_srcdir)/configure $(am__configure_deps) endif %?TOPDIR_P% $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ?TOPDIR_P? $(SHELL) ./config.status --recheck ?!TOPDIR_P? cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: %MAINTAINER-MODE% $(am__configure_deps) ?TOPDIR_P? $(am__cd) $(srcdir) && $(AUTOCONF) ?!TOPDIR_P? cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ## ------------ ## ## aclocal.m4. ## ## ------------ ## ## Whenever a configure dependency changes we need to rebuild ## aclocal.m4 too. Changing configure.ac, or any file included by ## aclocal.m4 might require adding more files to aclocal.m4. Hence ## the $(am__configure_deps) dependency. ## We still need $(ACLOCAL_AMFLAGS) for sake of backward-compatibility; ## we should hopefully be able to get rid of it in a not-so-distant ## future. if %?REGEN-ACLOCAL-M4% $(ACLOCAL_M4): %MAINTAINER-MODE% $(am__aclocal_m4_deps) ?TOPDIR_P? $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) ?!TOPDIR_P? cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ## Avoid the "deleted header file" problem for the dependencies. $(am__aclocal_m4_deps): endif %?REGEN-ACLOCAL-M4% ## --------- ## ## cleanup. ## ## --------- ## ## We special-case config.status here. If we do it as part of the ## normal clean processing for this directory, then it might be ## removed before some subdir is cleaned. However, that subdir's ## Makefile depends on config.status. if %?TOPDIR_P% am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno distclean: -rm -f $(am__CONFIG_DISTCLEAN_FILES) ## Note: you might think we should remove Makefile.in, configure, or ## aclocal.m4 here in a maintainer-clean rule. However, the GNU ## Coding Standards explicitly prohibit this. maintainer-clean: -rm -f $(am__CONFIG_DISTCLEAN_FILES) ## autom4te.cache is created by Autoconf; the only valid target to ## remove it is maintainer-clean, not distclean. ## If you have an autom4te.cache that cause distcheck to fail, then ## it is good news: you finally discovered that autoconf and/or ## autoheader is needed to use your tarball, which is wrong. -rm -rf $(top_srcdir)/autom4te.cache endif %?TOPDIR_P%