Any difference between configure.ac and configure.in, and Makefile.am and Makefile.in?

Mohit Deshpande picture Mohit Deshpande · Sep 24, 2010 · Viewed 14.5k times · Source

I have seen both in different things I have configured. What I the difference? Is it notable to use only one? Or does it not matter which one to use?

Answer

zwol picture zwol · Sep 24, 2010

configure.ac and configure.in are two possible names for the master Autoconf source file, which is processed by autoconf to generate the configure shell script. configure.ac is preferred for new packages, configure.in is an older name which still works. (The .in suffix is now recommended to be used only for files which will be processed by config.status, which is the result of running configure.)

Makefile.am is an Automake source file. Automake processes it and generates Makefile.in, which is then further processed by config.status to generate the final Makefile. An Automake-generated Makefile.in is not meant to be edited by hand. However, if a project doesn't use Automake (but does use Autoconf), then it will only have a Makefile.in which is hand-edited.

For further details see http://www.gnu.org/software/autoconf/manual/html_node/Making-configure-Scripts.html - particularly the diagrams.