ubuntu 自动生成 makefile

来源:互联网 发布:java ssh框架教程 pdf 编辑:程序博客网 时间:2024/06/05 07:29
Linux下编程时的Makefile是个令人头疼的问题,而且编译环境不同,需要不同Makefile,这个不可能由用户来自己编写,好在我们有自动生成Makefile的工具automake。之前都是简单的Makefile都自己写,后面遇到太过于复杂的,自己写来耶麻烦,就查到可以自动生成Makefile,就空闲学习一下。
1,需要使用到automake和autoconf两个命令。
终端下,使用下面的命令来安装:
~$ sudo apt-get install autoconf
Ubuntu会自动下载并安装这两个程序。
2,进入到源文件的文件夹~/cproject/下,执行
~/cproject$ autoscan
这时会在当前的目录下新生成两个文件autoscan.log(日记文件,可以忽略)和configure.scan,将configure.scan改名为configure.in,同时使用gedit打开。
-----------------------------configure.in文件开始-----------------------------------------
#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.


AC_PREREQ([2.64])

AC_INIT(first, 1.0, XXXX@XXX.com)  #修改蓝色的部分,

原先为AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])

AC_CONFIG_SRCDIR([first.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE(first,1.0)  #添加上这一行 


# 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_OUTPUT(Makefile)          #添加上红色的部份


-----------------------------configure.in文件结束-----------------------------------------
保存。
3,新建文件Makefile.am,内容如下:
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=first
first_SOURCES=first.c

保存。
4,运行命令aclocal,
~/cproject$ aclocal
命令成功之后,在目录下会产生aclocal.m4和autom4te.cache两个文件。
5,运行命令autoheader
~/cproject$ autoheader
命令成功之后,会在目录下产生config.h.in这个新文件。
6,运行命令autoconf
~/cproject$ autoconf
命令成功之后,会在目录下产生configure这个新文件。
7,运行命令automake --add-missing
~/cproject$ automake --add-missing
输出结果为:
configure.in:8: installing `./install-sh'
configure.in:8: installing `./missing'
Makefile.am: installing `./depcomp'
命令成功之后,会在目录下产生depcomp,install-sh和missing这三个新文件和执行下一步的Makefile.in文件。
8,运行命令
~/cproject$ ./configure
就可以自动生成Makefile。
9,make一下就会看到first可执行文件、

0 0
原创粉丝点击