makefile 文件编写
makefile 文件编写-------新手篇
1.什么是makefile?
Makefile是一种配置文件,Makefile一个工程中的源文件不计其数,其按类型,功能,模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至进行更复杂的功能操作。makefile像一个shell脚本一样,可以执行操作系统的命令。
2.makefile 编写规则?
一般情况写makefile文件包含三部分:
(1)最终生成的目标文件
(2)生成目标文件的依赖文件
(3)清理
注:makefile文件编写有很多中方法,我在此文中只讲我经常使用的,也是最基础的,希望能够帮助新人很好的理解和编写makefile文件。
(1)最终生成的目标文件:(二进制文件) 依赖的.o文件
执行生成目标文件的命令
(2)依赖文件(.o文件): 依赖文件(.o / .c / .h 文件)
执行生成依赖文件的命令
(3)清理
例子:
假如你有3个文件,一个测试函数 (main.c 文件),两个接口函数文件 (.c 和.h 文件)
------------------------------------------------
main.c
-------------------------
#include<stdio.h>
#include"add.h"
int main()
{
int Inum1 = 1;
int Inum2 = 2;
int Isum = 0;
Isum = add (Inum1, Inum2);
printf ("%d"\n, Isum);
return 0;
}
-------------------------------------------------------------------------------
add.h
-----------------------------
#ifndef __ADD_H__
#define __ADD_H__
int add (int a, int b)
#endif
------------------------------------------------------------------------------
add.c
----------------------------
#include"add.h"
int add (int a, int b)
{
return a+b;
}
-------------------------------------------------------------------------------------------------------
makefile :
-------------------------------
res : add.o main.o
gcc - o res add.o main.o
add.o: add.h
gcc -c add.c
main.o: main.c add.h
gcc -c main.c
clean:
rm -rf *.o
rm -rf res
makefile 编写有很多种方式,我在给出一种,供新人学习,我说的不一定都准确,大家也对比其他的参考学习。
--------------------------------
makefile
---------------
CC = gcc
FLAG = -Wall -g -02
ALL:
$ (CC) $ (FLAG) -c add.c
$ (CC) $ (FLAG) -c main.c
$ (CC) $ (FLAG) - o res add.o main.o
clean:
rm -rf *.o
rm -rf res

浙公网安备 33010602011771号