Each subdirectory in a distribution that contains something to be
compiled or installed should come with a file Makefile.in, from
which configure creates a file Makefile in that directory.
To create Makefile, configure performs a simple variable
substitution, replacing occurrences of ‘@variable@’ in
Makefile.in with the value that configure has determined
for that variable. Variables that are substituted into output files in
this way are called output variables. They are ordinary shell
variables that are set in configure. To make configure
substitute a particular variable into the output files, the macro
AC_SUBST
must be called with that variable name as an argument.
Any occurrences of ‘@variable@’ for other variables are
left unchanged. See Setting Output Variables, for more information
on creating output variables with AC_SUBST
.
A software package that uses a configure script should be distributed with a file Makefile.in, but no makefile; that way, the user has to properly configure the package for the local system before compiling it.
See Makefile Conventions, for more information on what to put in makefiles.