C 在项目中没有Makefile.am的Makefile.in

C 在项目中没有Makefile.am的Makefile.in,c,build,makefile,build-automation,autotools,C,Build,Makefile,Build Automation,Autotools,在几个项目中,我看到了没有Makefile.am的Makefile.In。例如bash和dtach 我一直认为Makefile.in是由automake生成的。同样,由于Makefile.am是一个用户编写的文件,我不会想到它会从代码库中被省略。在bash源代码树中,Makefile.In太大,无法手工编写,而且dtach中的Makefile.In看起来也是生成的。Makefile.in是如何在这两个项目中生成的?根据需要执行的操作,libtool和automake自动工具可以彼此独立使用(或者

在几个项目中,我看到了没有Makefile.am的Makefile.In。例如bash和dtach


我一直认为Makefile.in是由automake生成的。同样,由于Makefile.am是一个用户编写的文件,我不会想到它会从代码库中被省略。在bash源代码树中,Makefile.In太大,无法手工编写,而且dtach中的Makefile.In看起来也是生成的。Makefile.in是如何在这两个项目中生成的?

根据需要执行的操作,
libtool
automake
自动工具可以彼此独立使用(或者根本不使用)。因此,不需要使用
automake
来生成
Makefile.in

automake
工具还显著输出其已使用的信息:

#Makefile.in由automake 1.11.1从Makefile.am生成


因此,您看到的
Makefile.in
s很可能是“手动”编辑的。

Makefile.in看起来像常规的Makefile,但通常需要通过配置脚本完成(例如,用户在不同目录中的库位置)

Makefile.am由Automake用于构建这样的Makefile.in。如果制作您正在使用的包的开发人员已经有了一个Makefile并编写了一个Makefile.am,因为这太费劲了,他们只是将它转换为一个Makefile.in