繁体   English   中英

无法运行Makefile.am,我该怎么办?

[英]Can't run Makefile.am, what should I do?

我有一个C项目在Linux中编译和运行。 这是一个包含许多子目录的非常大的项目。 在父目录中有Makefile.amMakefile.in

我尝试运行make -f Makefile.am ,并收到以下错误:

make: Nothing to be done for `Makefile.am'.

这是什么意思? 我如何完成任务?

这些文件与Autotools套件一起使用。 Makefile.am文件使用automake编译为Makefile。

看一下目录中是否有configure脚本。 如果有,则键入:

./configure

如果没有,那么运行:

autoreconf

在目录中,应该创建configure脚本(您需要安装Autotools套件才能运行它)。

之后,您应该有一个可以运行的configure脚本。

配置完成后,您应该在目录中有一个普通的Makefile,并且能够运行

make

遗漏了什么:

  • 使用automake将Makefile.am转换为Makefile.in。
  • 通过运行configure将Makefile.in转换为Makefile。

这些(Makefile。{am,in})都不应该与make -f一起使用。

如果tarball已经附带configure,只需运行它并生成。 如果没有,请运行./autogen.shbootstrap (*)。 如果不存在,请改用autoreconf

(*)autogen / bootstrap:开发人员添加的一个简单脚本, 应该只调用autoreconf 不幸的是,有些人会避开autoreconf并且不必要地自己调用所有低级命令。

补充已经说过的内容:在项目目录中搜索名为configure的脚本。 如果它在那里,建立项目将是:

。/配置

使

并可选择安装:

sudo make install

或su -c“make install”

即使没有配置脚本。 可能有一个autogen.sh 运行此脚本以生成配置脚本,并执行上述操作。

Makefile.am可能与automake一起使用。

尝试:

automake

你可能也想尝试一下

make -f Makefile.in

因为这是运行automake的产品

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM