GNU Build System - Autotools

About autotools you can find here http://en.wikipedia.org/wiki/GNU_build_system

Now let's learn it from an example

create a dir and some source file that you need to compile

mkdir autotools
cd autotools vi main.c

and in main.c ,we can write this into it

#include<sydio.h>
#include"hello.h"
int main()
{
      printf("%s\n",ch);          
      return 0;  
}
//example

under ./autotools ,we can run autoscan,it will generate autoscan.log and configure.scan

autoscan

edit configure.scan and save it as configure.in

vi configure.scan
#edit this file

and the final configure.in should be like this:

AC_PREREQ(2.57)
AC_INIT(main,1.0)
AM_INIT_AUTOMAKE(main,1.0)
AC_CONFIG_SRCDIR([main.c])
AM_CONFIG_HEADER([config.h])
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
AC_PREREQ references to the version of autoconf.
AM_INIT_AUTOMAKE must be include in this file,and "main" is the programs's name.

运行aclocal
aclocal
 
 

autoconf 生成autom4te.cache configure

autoconf

运行autoheader,生成config.h.in

autoheader

用vi编辑Makefile.am

vi Makefile.am

加入如下内容:

AUTOMAKE_OPTIONS=foreign

bin_PROGRAMS=main

hello_SOURCES=main.c hello.h

运行automake
automake --add-missing

 

  then we can use ./configure to generate Makefile, and use make to compile it, and use make install to install it into your system

转载于:https://www.cnblogs.com/rayfloyd/archive/2012/12/24/2831177.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值