使用autotools工具集生成Makefile文件

本文详细介绍了如何使用autotools工具集生成符合Linux规范的Makefile文件,包括安装工具、入门使用方法、Makefile.am编写规则以及如何更改库的安装路径。通过示例,展示了从创建configure.ac到生成可执行文件的完整过程。
摘要由CSDN通过智能技术生成

一、前言

Makefile是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是所有文件都需要重新编译,Makefile中记录着文件的信息,在make的时候就会决定在链接的时候需要重新编译哪些文件。

Makefile的宗旨就是让编译器知道编译一个文件需要依赖其他哪些文件。当依赖文件有了改变,编译器会自动检测到之前的文件已经过时,进而重新编译相应的模块。

本文将介绍使用autotools工具集生成符合Linux规范的Makefile文件。

二、安装工具集

autotools是一个系列工具,包含了以下软件:

aclocal autoscan autoconf autoheader automake etc.

通常在安装以上某一个软件后,就会自动安装autotools系列工具,所以执行以下命令即可安装,但也要注意查缺补漏。网上也有较多手动安装的教程,可自行了解。

sudo apt-get install autoconf

三、入门使用

下图为使用autotools工具集生成Makefile的流程图:
编译流程图

根据流程图我们来实现编译一个hello world程序。

// hello.cc
#include <iostream>

int main()
{
   
    std::cout << "Hello World!" << std::endl;
}

首先进入项目根目录,执行autoscan,在当前目录下会生成configure.scan文件。
autoscan
我们需要将confiugre.scan重命名为confiugre.in文件(.in后缀为旧写法,执行命令时可能会报错,这里建议改成.ac后缀)。confiugre.ac调用一系列autoconf宏来测试程序需要的或用到的特性是否存在,以及这些特性的功能。

#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.69])
AC_INIT([FULL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值