Makefile编写
2012-05-09 16:53
134 查看
继续联系写小程序
假设我们有下面这样的一个程序,源代码如下:
/* main.c */
#include "mytool1.h"
#include "mytool2.h"
int main(int argc,char **argv)
{
mytool1_print("hello");
mytool2_print("shelly");
}
/* mytool1.h */
#ifndef _MYTOOL_1_H
#define _MYTOOL_1_H
void mytool1_print(char *print_str);
#endif
/* mytool1.c */
#include "mytool1.h"
void mytool1_print(char *print_str)
{
printf("This is mytool1 print %s\n",print_str);
}
/* mytool2.h */
#ifndef _MYTOOL_2_H
#define _MYTOOL_2_H
void mytool2_print(char *print_str);
#endif
/* mytool2.c */
#include "mytool2.h"
void mytool2_print(char *print_str)
{
printf("This is mytool2 print %s\n",print_str);
}
编写Makefile文件:
main:main.o mytool1.o mytool2.o
g++ -o main main.o mytool1.o mytool2.o
main.o:main.cpp mytool1.h mytool2.h
g++ -c main.cpp
mytool1.o: mytool1.cpp mytool1.h
g++ -c mytool1.cpp
mytool2.o:mytool2.cpp mytool2.h
g++ -c mytool2.cpp
在Makefile中#开始的行都是注释行.
Makefile中最重要的是描述文件的依赖关系的说明.
一般的格式是:
target: components
TAB rule
第一行表示的是依赖关系.第二行是规则.
比如说我们上面的那个Makefile文件的第一行
main:main.o mytool1.o mytool2.o
表示我们的目标(target)main的依赖对象(components)是main.o mytool1.o mytool2.o 当倚赖的对象在目标修改后修改的话,就要去执行规则一行所指定的命令.就象我们的上面那个Makefile第二行所说的一样要执行 g++ -o main main.o mytool1.o mytool2.o
注意规则一行中的TAB表示那里是一个TAB键
Makefile编写完毕
make
./main
最终结果:
this is mytool1 print hello
this is mytool2 print shelly
假设我们有下面这样的一个程序,源代码如下:
/* main.c */
#include "mytool1.h"
#include "mytool2.h"
int main(int argc,char **argv)
{
mytool1_print("hello");
mytool2_print("shelly");
}
/* mytool1.h */
#ifndef _MYTOOL_1_H
#define _MYTOOL_1_H
void mytool1_print(char *print_str);
#endif
/* mytool1.c */
#include "mytool1.h"
void mytool1_print(char *print_str)
{
printf("This is mytool1 print %s\n",print_str);
}
/* mytool2.h */
#ifndef _MYTOOL_2_H
#define _MYTOOL_2_H
void mytool2_print(char *print_str);
#endif
/* mytool2.c */
#include "mytool2.h"
void mytool2_print(char *print_str)
{
printf("This is mytool2 print %s\n",print_str);
}
编写Makefile文件:
main:main.o mytool1.o mytool2.o
g++ -o main main.o mytool1.o mytool2.o
main.o:main.cpp mytool1.h mytool2.h
g++ -c main.cpp
mytool1.o: mytool1.cpp mytool1.h
g++ -c mytool1.cpp
mytool2.o:mytool2.cpp mytool2.h
g++ -c mytool2.cpp
在Makefile中#开始的行都是注释行.
Makefile中最重要的是描述文件的依赖关系的说明.
一般的格式是:
target: components
TAB rule
第一行表示的是依赖关系.第二行是规则.
比如说我们上面的那个Makefile文件的第一行
main:main.o mytool1.o mytool2.o
表示我们的目标(target)main的依赖对象(components)是main.o mytool1.o mytool2.o 当倚赖的对象在目标修改后修改的话,就要去执行规则一行所指定的命令.就象我们的上面那个Makefile第二行所说的一样要执行 g++ -o main main.o mytool1.o mytool2.o
注意规则一行中的TAB表示那里是一个TAB键
Makefile编写完毕
make
./main
最终结果:
this is mytool1 print hello
this is mytool2 print shelly
相关文章推荐
- Linux平台Makefile文件的编写基础篇
- Makefile文件的编写(1)
- 模块编译Makefile的编写形式
- Linux下gcc与g++用法以及编写makefile
- makefile 文件的编写
- linux下gcc和 g++的语法以及makefile的编写
- makefile 编写
- 简单的makefile编写
- BREW Makefile 生成工具的编写
- 如何自己编写Makefile
- Linux Makefile文件编写详细步骤与实践
- Makefile编写
- Makefile文件编写
- 如何编写makefile文件
- 第2阶段——编写uboot之启动内核和制作Makefile(2)
- 编写简单的Makefile文件
- 大型工程的makefile编写及其维护管理
- Makefile编写----实例展示
- makefile编写规则
- makefile的编写实例(windows vs2010)