zoukankan      html  css  js  c++  java
  • 使用autotools制作makefile

    flat模式

    ①#autoscan

    生成configure.scan

    ②改写configure.scan

    AC_INIT(最终可执行文件名, 版本号)

    AM_INIT_AUTOMAKE

    AC_CONFIG_SRCDIR(源文件所在文件夹中的一个文件名,用于检测路径)

    AC_CONFIG_HEADER(config.h)

    AC_OUTPUT(Makefile)

    AC_PROG_RANLIB

    改写完毕后另存为configure.in

    ③#aclocal

    ④#autoconf

    ⑤#autoheader

    ⑥编辑Makefile.am

    AUTOMAKE_OPTIONS=foreign

    bin_PROGRAMS=可执行文件名1可执行文件名2 ......可执行文件名n

    可执行文件名1_SOURCES=该可执行文件生成所必须的源文件、头文件等,以空格分开

    可执行文件名2_SOURCES=该可执行文件生成所必须的源文件、头文件等,以空格分开

    ......

    可执行文件名n_SOURCES=该可执行文件生成所必须的源文件、头文件等,以空格分开

    可执行文件名1_LDADD=-l库名

    ......

    可执行文件名n_LDADD=-l库名

    ⑦#automake --add-missing

    ⑧#./configure

    ⑨#make

    ⑩生成可执行文件,运行。

    deep模式

    以例子说明

    环境:Linux Redhat Enterprise

    文件结构:

    根目录:

    /rtcp

    子目录:

    /rtcp/src:包含server.c client.c

    /rtcp/include:包含rtcp.c rtcp.h

    目标:在根目录/rtcp下建立Makefile

    步骤:

    ①进入/rtcp

    #autoscan

    产生configure.scan

    修改该文件:

    AM_INIT_AUTOMAKE

    # Checks for programs.
    AC_PROG_CC
    AM_PROG_CC_C_O

    # Checks for libraries.
    AC_PROG_RANLIB

    AC_OUTPUT(Makefile)

    保存为configure.in

    #aclocal

    #autoconf

    #autoheader

    #gedit Makefile.am

    ③编辑Makefile.am

    AUTOMAKE_OPTIONS=subdir-objects
    bin_PROGRAMS=server client
    server_SOURCES=src/server.c include/rtcp.c include/rtcp.h
    client_SOURCES=src/client.c include/rtcp.c include/rtcp.h
    server_LDADD=-lpthread
    client_LDADD=-lpthread
    server_LDFLAGS=-L/path/to/lib/pthread/
    client_LDFLAGS=-L/path/to/lib/pthread/

    保存

    ④#automake --add-missing

    ⑤#./configure

    ⑥#make

    交流联系方式:liangxiaxu@126.com

  • 相关阅读:
    在idea的控制台进行git pull 或者git push的时候每次都要输入用户名和密码的解决办法
    js中和html中onclick绑定函数要不要加括号的问题
    ElementUI checkbox组件中的indeterminate 状态
    js之常见问题--for循环中为什么点击总是弹出最后一个i
    vue中watch监听浏览器窗口大小的改变
    Duplicate keys detected: '0'. This may cause an update error.
    数组对象去重总结
    【转载】git 回退版本
    K8s
    go 记录日志到Elk
  • 原文地址:https://www.cnblogs.com/liangxiaxu/p/2485099.html
Copyright © 2011-2022 走看看