为一个工程创建Makefile

Posted 阿波罗一号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为一个工程创建Makefile相关的知识,希望对你有一定的参考价值。

依赖软件:autoconf/automake/m4/perl

非必需以来:libtool

autoconf 是一个用于生成可以自动地配置软件源码包,用以适应多种UNIX类系统的shell脚本工具,其中autoconf依赖软件 m4,便于生成脚本。

automake是一个从Makefile.am文件自动生成Makefile.in的工具。为了生成Makefile.in,automake还需用到perl,由于automake创建的发布完全遵循GNU标准,所以在创建中不需要perl。libtool是一款方便生成各种程序库的工具。

 

一:自动生成Makefile

1. 创建目录,生成一个hello.c

2. 执行 autoscan 命令,生成configure.in模版文件 configure.scan

3. 编辑configure.in文件

  AC_PREREQ 版本号

  AC_INIT 可执行文件

  AM_INIT_AUTOMAKE  指示可执行文件与版本号

  AC_CONFIG_SRCDIR  检验文件是否缺失

  AC_CONFIG_HEADERS  为了检查头文件config.h

  AC_PROG_CC  检查C语言编译程序是否存在

  AC_OUTPUT(Makefile) 最终输出的文件

 

每个configure.scan 文件都是以AC_INT 开头 AC_OUTPUT 结尾

 

4. 执行 aclocal 和 autoconf 生成 aclocal.m4 和 configure

5. 编辑 Makefile.am文件

UTOMAKE_OPTIONS=foreign  //不检查NEWS,AUTHOR,ChangeLog

bin_PROGRAMS=hello   //要生成的可执行应用程序文件

hello_SOURCES=hello.c  //表示生成可执行应用程序所用的源文件

6. 运行automake

7. 执行./configure 生成Makefile文件

8. 使用Makefile编译代码  make

9. ./hello 执行已编译文件

 

二 手动生成Makefile

makefile介绍:make 执行时,需要有一个makefile文件来告诉make命令需要执行某些命令或者怎么样去编译文件

1. 创建Makefile

2. 创建Make命令 命令格式

build:
    g++ hello.cpp
clean:
    rm  a.out

 

以上是关于为一个工程创建Makefile的主要内容,如果未能解决你的问题,请参考以下文章

eclipse 创建Makefile工程生成多个执行文件

LINUX网络编程Makefile文件

makefile 工程管理

[Make]Makefile 模版

如何制作一个makefile文件

如何使用子目录中的源代码为 C 和 C++ 创建 makefile