Makefile: Rerun the configure script if it has been modified
authorBart Van Assche <bart.vanassche@wdc.com>
Fri, 9 Mar 2018 16:51:04 +0000 (08:51 -0800)
committerJens Axboe <axboe@kernel.dk>
Fri, 9 Mar 2018 17:24:49 +0000 (10:24 -0700)
commit84546b83150de3ce37871aab724493d0edc31a52
treedd23d8e40d5a82c0da8addcf6ea52f64d2430cf4
parentec370c22ae525e127e23f7f77c423f21a6a73bbb
Makefile: Rerun the configure script if it has been modified

Because of a typo in the Makefile ("config-host-mak") the configure
script is not rerun if the configure script is modified after
config-host.mak has been generated. Merge the two make goals for
rerunning configure into a single goal. This patch relies on the
following make behavior (see also https://www.gnu.org/software/make/manual/make.html#Remaking-Makefiles):

  Sometimes makefiles can be remade from other files, such as RCS or SCCS
  files. If a makefile can be remade from other files, you probably want
  make to get an up-to-date version of the makefile to read in.

  To this end, after reading in all makefiles, make will consider each as a
  goal target and attempt to update it. If a makefile has a rule which says
  how to update it (found either in that very makefile or in another one) or
  if an implicit rule applies to it (see Using Implicit Rules), it will be
  updated if necessary. After all makefiles have been checked, if any have
  actually been changed, make starts with a clean slate and reads all the
  makefiles over again. (It will also attempt to update each of them over
  again, but normally this will not change them again, since they are
  already up to date.)

This patch has been tested by verifying that the commands run by make
were as expected for the following invocations:

rm -f config-host.mak && make
make && touch configure && make
make

Note: fio already requires GNU make because of the use of "ifeq" etc.

Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Makefile