当前位置: 技术问答>linux和unix
makefile文件
来源: 互联网 发布时间:2015-03-07
本文导语: 如何编写makefile文件,请详细,我是来鸟! 谢谢! | 在 linux 下制作 Makefile 要用到的工具有 1、autoscan 2、aclocal 3、autoheader 4、automake 5、auto...
如何编写makefile文件,请详细,我是来鸟!
谢谢!
谢谢!
|
在 linux 下制作 Makefile 要用到的工具有
1、autoscan
2、aclocal
3、autoheader
4、automake
5、autoconf
6、./configure
我们在写程序时,有两种情况
1、所有的代码都放在一个目录中
2、把代码按功能分放在几个目录中
一、所有的代码都放在一个目录中
假设我们的工作目录为project,
我们所写的代码都放在project下
制作Makefile的步骤为:
1、user$/project/autoscan
产生configure.scan 此文件是configure.in的蓝本
cp configure.scan configure.in
vi configure.in
在AC_INIT()的下面增加一行
AM_INIT_AUTOMAKE(mypackage, 1.0)
在AC_OUTPUT 中写上 Makefile 字符
保存 configure.in 文件
2、编写 Makefile.am 文件
vi Makefile.am
AUTOMAKE_OPTIONS= foreign
bin_PROGRAMS= mybinfile1 mybinfile2 mybinfile3
mybinfile_SOURCES= file1.h file1.c
file2.h file2.c
file3.h file3.c
EXTRA_DIST= otherfile
保存Makefile.am文件
3、依次运行
aclocal
autoheader
automake --add-missing --verbose
autoconf
./configure
4、则当前目录下就可以产生 Makefile 了
二、把代码按功能分放在几个目录中
假设我们的 TOP 工作目录为project,
目录层次为
project
src1
src1.1
src1.2
src2
src2.1
src2.2
src2.2.1
src3
制作Makefile的步骤为:
1、user$/project/autoscan
产生configure.scan 此文件是configure.in的蓝本
cp configure.scan configure.in
vi configure.in
在AC_INIT()的下面增加两行
AM_INIT_AUTOMAKE(mypackage, 1.0)
AC_PROG_MAKE_SET
在AC_OUTPUT 中写上
AC_OUTPUT(
Makefile
src1/Makefile
src1/src1.1/Makefile
src1/src1.2/Makefile
src2/Makefile
src2/src2.1/Makefile
src2/src2.2/Makefile
src2/src2.2/src2.2.1/Makefile
src3/Makefile)
保存 configure.in 文件
2、编写 Makefile.am 文件
vi Makefile.am
AUTOMAKE_OPTIONS= foreign
EXTRA_DIST= otherfile
bin_PROGRAMS= mybinfile1 mybinfile2 mybinfile3
SUBDIRS= src1 src2 src3
保存Makefile.am文件
1、autoscan
2、aclocal
3、autoheader
4、automake
5、autoconf
6、./configure
我们在写程序时,有两种情况
1、所有的代码都放在一个目录中
2、把代码按功能分放在几个目录中
一、所有的代码都放在一个目录中
假设我们的工作目录为project,
我们所写的代码都放在project下
制作Makefile的步骤为:
1、user$/project/autoscan
产生configure.scan 此文件是configure.in的蓝本
cp configure.scan configure.in
vi configure.in
在AC_INIT()的下面增加一行
AM_INIT_AUTOMAKE(mypackage, 1.0)
在AC_OUTPUT 中写上 Makefile 字符
保存 configure.in 文件
2、编写 Makefile.am 文件
vi Makefile.am
AUTOMAKE_OPTIONS= foreign
bin_PROGRAMS= mybinfile1 mybinfile2 mybinfile3
mybinfile_SOURCES= file1.h file1.c
file2.h file2.c
file3.h file3.c
EXTRA_DIST= otherfile
保存Makefile.am文件
3、依次运行
aclocal
autoheader
automake --add-missing --verbose
autoconf
./configure
4、则当前目录下就可以产生 Makefile 了
二、把代码按功能分放在几个目录中
假设我们的 TOP 工作目录为project,
目录层次为
project
src1
src1.1
src1.2
src2
src2.1
src2.2
src2.2.1
src3
制作Makefile的步骤为:
1、user$/project/autoscan
产生configure.scan 此文件是configure.in的蓝本
cp configure.scan configure.in
vi configure.in
在AC_INIT()的下面增加两行
AM_INIT_AUTOMAKE(mypackage, 1.0)
AC_PROG_MAKE_SET
在AC_OUTPUT 中写上
AC_OUTPUT(
Makefile
src1/Makefile
src1/src1.1/Makefile
src1/src1.2/Makefile
src2/Makefile
src2/src2.1/Makefile
src2/src2.2/Makefile
src2/src2.2/src2.2.1/Makefile
src3/Makefile)
保存 configure.in 文件
2、编写 Makefile.am 文件
vi Makefile.am
AUTOMAKE_OPTIONS= foreign
EXTRA_DIST= otherfile
bin_PROGRAMS= mybinfile1 mybinfile2 mybinfile3
SUBDIRS= src1 src2 src3
保存Makefile.am文件
|
http://www.linuxeden.com/edu/doctext.php?docid=1986
|
随便找一本Unix/Linux编程的书,一般都有教你如何编写makefile文件,比如《GNU/Linux编程指南》就有,还有一些Linux专业网站也有介绍,www.linuxaid.com.cn