zoukankan      html  css  js  c++  java
  • 使用autotools生成makefile

    闲来无事下载了一本书的源码,但又觉得每次都要编译每一个程序很麻烦(后面其实发现,这都只是.c文件并不是大工程,编译每一个C文件比写一个makefile容易多了)。但前几天正好看到了autotools生成makefile的方法,那就练练手吧。废话少说,进入正题。

    首先肯定是下载autotools, 一个yum install autoconf 很简单酒完成了。

    接下来就要正式步骤:

    1,autoscan

    生成了一一个configure.scan文件。编辑它,增加宏声明 AM_INIT_AUTOMAKE(hello,1.0) 和AC_CONFIG_FILES([makefile])

    然后保存为configure.ac。 其实configure.scan就是一个模板。

    PS:这里hello是项目名,可以随便填。1.0是版本号,也就是你代码的版本号,也随便填吧。

    2,aclocal

    这里生成一个aclocal.m4文件,注意咯,网上有的地方在前面AM_INIT_AUTOMAKE这个宏写成AC_INIT_AUTOMAKE,这里会出错不能生成aclocal.m4.

    3,autoconf

    这里生成一个configure文件。

    4,autoheader

    5,automake

    这一步很重要,因为要自己编写makefile.am文件

    AUTOMAKE_OPTIONS= foreign
    bin_PROGRAMS= hello
    hello_SOURCES= hello.c

    第一行是GNU发布软件有自己的规范,有三个选项:foreign,gnu,gnits。如果不写默认为gnu,这样你需要添加各种文件。我们为简单就写这一行。

    第二行是你要生成的可执行文件,有多少写多少,用空格分开。

    第三行既每个可执行文件的依赖文件,file_SOURCES。有多少可执行文件就写多少依赖文件。

    6,automake -a

    7./configure

    8,make install

    一个makefile文件就轻松生成了。

  • 相关阅读:
    POJ1001 Exponentiation
    centos 在安装YouCompleteMe时提示 Fatal : pyconfig.h No such file or directory
    VMware12上安装CentOS无法上网问题
    mysql报错:/usr/sbin/mysqld:unknown variable 'default-character-set=utf8'
    centos7 python3.5安装mysqlclient1.3.9
    DirectDraw创建Windows窗口
    二进制移位溢出
    格式化时间 与 时间戳的转换
    ADO 读取 ACCESS
    Windows DOS 窗口设置字体颜色
  • 原文地址:https://www.cnblogs.com/yestreen/p/3078760.html
Copyright © 2011-2022 走看看