Makefile.am、Makefile.in和Makefile的关系

时间:2022-03-25 12:39:23
/*********************************************************************
 * Author  : Samson
 * Date    : 01/30/2015
 * Test platform:
 *              3.13.0-24-generic
 *              GNU bash, 4.3.11(1)-release 
 * *******************************************************************/

它们这三个东东是怎么来的呢?

Makefile.am: 是一些编译的选项及要进行编译的文件项等,例如:
bin_PROGRAMS=test
lib_LIBRARIES = libhand.a
libhand_a_SOURCES = hand.c

Makefile.in: 在automake手册中是这样说:while automake is in charge of creating Makefile.ins from Makefile.ams and configure.ac. 意思是Makefile.in是由Makefile.am和configure.ac的基础之上而生成的。

Makefile: 使用生成的configure脚本根据Makefile.in中的内容进行生成的最终进行程序或库编译的规则文件;

关系图如下,(此图来自网络)



Makefile.am、Makefile.in和Makefile的关系
此图参考: