| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | ## automake - create Makefile.in from Makefile.am## Copyright (C) 1994-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/>.%CONFIG_H%: %STAMP%## Recover from removal of CONFIG_HEADER.	@test -f $@ || rm -f %STAMP%	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) %STAMP%%STAMP%: %CONFIG_H_DEPS% $(top_builddir)/config.status	@rm -f %STAMP%	cd $(top_builddir) && $(SHELL) ./config.status %CONFIG_H_PATH%## Only the first file of AC_CONFIG_HEADERS is assumed to be generated## by autoheader.if %?FIRST-HDR%%CONFIG_HIN%: %MAINTAINER-MODE% $(am__configure_deps) %FILES%## Cater to parallel BSD make.	($(am__cd) $(top_srcdir) && $(AUTOHEADER))## Whenever $(AUTOHEADER) has run, we must make sure that## ./config.status will rebuild config.h.  The dependency from %STAMP%## on %CONFIG_H_DEPS% (which contains config.hin) is not enough to## express this.#### There are some tricky cases where this rule will build a## config.hin which has the same timestamp as %STAMP%, in which case## ./config.status will not be rerun (meaning that users will use an## out-of-date config.h without knowing it).  One situation where this## can occur is the following:## 1. the user updates some configure dependency (let's say foo.m4)##    and runs 'make';## 2. the rebuild rules detect that a foo.m4 has changed,##    run aclocal, autoconf, automake, and then run ./config.status.##    (Note that autoheader hasn't been called yet, so ./config.status##    outputs a config.h from an obsolete config.hin);## 3. once Makefile has been regenerated, make continues, and##    discovers that config.h is a dependency of the 'all' rule.##    Because config.h depends on stamp-h1, stamp-h1 depends on##    config.hin, and config.hin depends on aclocal.m4, make runs##    autoheader to rebuild config.hin.## Now make ought to call ./config.status once again to rebuild## config.h from the new config.hin, but if you have a sufficiently## fast box, steps 2 and 3 will occur within the same second: the## config.h/stamp-h1 generated from the outdated config.hin will have## the same mtime as the new config.hin.  Hence make will think that## config.h is up to date.#### A solution is to erase %STAMP% here so that the %STAMP% rule## is always triggered after the this one.	rm -f %STAMP%## Autoheader has the bad habit of not changing the timestamp if## config.hin is unchanged, which breaks Make targets.  Since what## must not changed gratuitously is config.h, which is already handled## by config.status, there is no reason to make things complex for## config.hin.	touch $@endif %?FIRST-HDR%
 |