linux 自动生成configure和make文件

本文介绍了如何使用autotools来自动化管理多个源文件的编译过程。在项目中,随着文件数量增加,手动编写makefile变得复杂。通过autotools,可以创建configure脚本和makefile,简化了lib、src、include等目录中文件的构建。具体步骤包括编写Makefile.am,运行autoscan、aclocal、autoconf、autoheader、automake等命令,生成必要的构建文件。

我以前是直接写的makefile文件,生成o文件人然后生成执行文件。

但是现在针对于很多文件就会出现文件太多的问题

后来知道了autotools

主要是目录有lib、src、include

目录中文件

├── include
│   └── add.h
├── lib
│   ├── add.cpp
│   ├── Makefile.am
├── Makefile.am
├── src
│   ├── main.cpp
│   ├── Makefile.am


#cat Makefile.am

ACLOCAL_AMFLAGS = -I m4
SUBDIRS = lib src
EXTRA_DIST = autogen.sh

# cat src/Makefile.am
AUTOMAKE_OPTIONS=foreign
INCLUDES = -I../include
bin_PROGRAMS=hehe
hehe_SOURCES=main.cpp
hehe_LDADD=../lib/libadd.a


$ cat lib/Makefile.am
AUTOMAKE_OPTIONS=foreign
INCLUDES = -I../include/
noinst_LIBRARIES=libadd.a
libadd_a_SOURCES=add.cpp


$autoscan


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


AC_PREREQ([2.69])
#AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
AC_INIT(hehe, 0.1)
AM_INIT_AUTOMAKE(hehe, 0.1)


AC_CONFIG_SRCDIR([lib/add.cpp])
AC_CONFIG_HEADERS([config.h])


# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
AC_PROG_RANLIB


# Checks for libraries.


# Checks for header files.


# Checks for typedefs, structures, and compiler characteristics.


# Checks for library functions.


AC_CONFIG_FILES([Makefile
                 lib/Makefile
                 src/Makefile])
AC_OUTPUT


接下来步骤:

 aclocal
 autoconf
 autoheader
 automake --add-missing

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值