今天看了本名叫《Linux程序设计》的书,对于刚接触linux而且想在linux系统上编程的人来说, 是块珍宝~
下面是书中介绍如何产生Makefile的过程,望与大家分享.
大家可能对./configure -->make -->install 的过程在熟悉不过了吧。Linux系统上很多软件都是使用make程序和Makefile文件来实现自动编译的。makefile文件描述了软件包中各个文件之间的关系,提供了更新每个文件的命令。如何规范的建立makefile文件,antomake与autoconf给我们提供了方法。
首先,保证安装了下列软件:
GNU Automake
GNU Autoconf
GUN m4
perl
GNU Libtool
在程序目录件test.c
#include <stdio.h>
int main(int argc, char **argv){
printf("test World!/n") ;
return 0;
}
1.
# autoscan
会产生configure.scan的文件
2.
# gedit configure.scan
对其编辑,如下
**************
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT(test.c)
AM_INIT_AUTOMAKE(test, 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)
****
# mv configure.scan configure.in
将configure.scan的名字改为configure.in
3.执行aclocal和autoconf,产生aclocal.m4和configure两个文件
# aclocal
# autoconf
4. 编辑Makefile.am,内容如下:
AUTOMAKE_OPTIONS= foreign
bin_PROGRAMS= test
test_SOURCES= test.c
5. 执行automake -a,产生一些文件,如果成功,最重要会产生Makefile.in文件
#automake -a
6. ./configure
7. make
8. ./test
test World!
测试成功~
小的试验,希望对诸位有所帮助~~~~~~~~~~~~~~~
下面是书中介绍如何产生Makefile的过程,望与大家分享.
大家可能对./configure -->make -->install 的过程在熟悉不过了吧。Linux系统上很多软件都是使用make程序和Makefile文件来实现自动编译的。makefile文件描述了软件包中各个文件之间的关系,提供了更新每个文件的命令。如何规范的建立makefile文件,antomake与autoconf给我们提供了方法。
首先,保证安装了下列软件:
GNU Automake
GNU Autoconf
GUN m4
perl
GNU Libtool
在程序目录件test.c
#include <stdio.h>
int main(int argc, char **argv){
printf("test World!/n") ;
return 0;
}
1.
# autoscan
会产生configure.scan的文件
2.
# gedit configure.scan
对其编辑,如下
**************
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT(test.c)
AM_INIT_AUTOMAKE(test, 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)
****
# mv configure.scan configure.in
将configure.scan的名字改为configure.in
3.执行aclocal和autoconf,产生aclocal.m4和configure两个文件
# aclocal
# autoconf
4. 编辑Makefile.am,内容如下:
AUTOMAKE_OPTIONS= foreign
bin_PROGRAMS= test
test_SOURCES= test.c
5. 执行automake -a,产生一些文件,如果成功,最重要会产生Makefile.in文件
#automake -a
6. ./configure
7. make
8. ./test
test World!
测试成功~
小的试验,希望对诸位有所帮助~~~~~~~~~~~~~~~