- 论坛徽章:
- 0
|
今天学习linux的makefile文件的编写时终于搞懂了两个文件的makefile怎么编写,现分享如下。有不足的地方还请各位多多指正。
要写一个包含两个文件的makefile文件,两个文件分别如下:
func.h文件:
#include<stdio.h>
int add(int m)
{
int i;
int sum;
for(i=0;i<m;i++)
{
sum+=i;
printf("add result is %d!\n",sum);
}
}
hello.c文件如下:
#include<stdio.h>
#include"func.h"
void fun1(int a)
{
int i;
int j=a;
int sum=0;
for(i=0;i<j;i++)
{
sum+=i;
printf("sum is %d.\n",sum);
}
}
int main()
{
printf("this is the first function !\n");
fun1(10);
add(10);
return 0;
}
makefile文件如下:
hello:hello.o
gcc hello.o -o hello
hello.o:hello.c func.h
gcc -c hello.c
此外可以用autotools自动生成makefile文件,方法如下:
1、首先检查是否安装autotools工具,autotools工具主要包括autoscan,acloacl,autoconf,autoheader等
用which命令查看,例:which autoscan,通常在/usr/bin/autoscan目录下。
2、运行命令/usr/bin/autoscan,生成configure.scan文件。修改其中的AC_INIT为AC_INIT(hello,1.0)
添加AM_INIT_AUTOMAKE(hello,1.0),修改AC_OUTPUT(makefile)。
3、将configure.scan改名为configure.in
4、运行aclocal命令。
5、运行autoconf命令。
6、运行autoheader命令
7、用vi命令编译makefile.am文件;如下:
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=hello
hello_SOURCES=hello.c func.h
8、运行automake -a命令
9、运行./configure文件。
到此makefile文件就自动生成了。可以应用以下命令进行测试:
(1)make
(2)make install
(3)make clean |
评分
-
查看全部评分
|