Makefile.am和makefile.in生成Makefile

Makefile.am和makefile.in生成Makefile

很多时候,我们在网上下载的linux开源软件都会遇到一个问题,就是源码里面没有直接的makefile,但是它有Makefile.ammakefile.in或者它有Makefile.amconfigure.in,这里就不详细解释他们直接的关联,直接给出如何操作生成makefile

具体操作步骤如下:

1. 执行aclocal,产生aclocal.m4文件

aclocal是一个perl 脚本程序,它的定义是:

    aclocal -create aclocal.m4 by scanning configure.ac
  • 1

aclocal根据configure.in文件的内容,自动生成aclocal.m4文件。而aclocal.m4文件中,包含了生成configure文件所必须的宏。

2. 执行autoconf,生成configure文件

autoconf会根据configure.inaclocal.m4文件,生成configure文件。

3. 执行automake命令,产生Makefile.in

    automake --add-missing
  • 1

automake会根据Makefile.am文件产生一些文件,包含最重要的Makefile.in。前面所生成的configure,会根据Makefile.in文件,来生成最终的Makefile文件。

4. 执行configure命令,生成Makefile文件

这样,就产生了编译所需要的Makefile文件。运行make,即可编译。

    ./configure
  • 1

如果我们有了Makefile.ammakefile.in那就可以执行第四步了。

这里在进行第四步的时候很可能会遇到一个问题:

error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
  • 1
  • 2

出现该情况是由于c++编译器的相关package没有安装。 
以Ubuntu为例,解决如下:

#sudo apt-get install build-essential
  • 1

以RED HAT为例:

# yum install glibc-headers
# yum install gcc-c++
  • 1
  • 2

这样子有了makefile之后我们就可以愉快的make了!!

 

 

 

下载bsd0.06源码找不到makefile

原文链接: https://www.cnblogs.com/bigbear1385/p/6604765.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    Makefile.am和makefile.in生成Makefile

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/251278

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 上午5:11
下一篇 2023年2月14日 上午5:12

相关推荐