- 浏览: 34436 次
- 性别:
- 来自: 苏州
最新评论
Makefile 简单了解
2011年11月30日
规则:用于说明如何生成一个或多个目标文件
如下
targets :prerequisites
command
目标 依赖 命令
main: main.o
gcc mian.o - o main
目标 :main
依赖 : main.o
命令 : gcc main.o - o main (****提示命令需要【tab】键开始******)
makefile中把没有任何依赖只有执行命令的目标称为伪目标(phony targets)
。PHONY : clean
clean:
rm -f main *.o
.PHONY 将clean目标声明为伪目标
例子:
@*********************************************************************
@fun.c
@*********************************************************************
#include "fun.h"
int max_fun(int x,int y)
{
if(x>=y)
return x;
else
return y;
}
@*********************************************************************
@fun.h
@*********************************************************************
include
int max_fun(int x,int y);
@*********************************************************************
@main.c
@*********************************************************************
#include"fun.h"
int main(void)
{
int a,b;
int max = 0;
scanf("%d%d",&a,&b);
max=max_fun(a,b);
printf("%d\n",max);
return 0;
}
@*********************************************************************
@makefile
@*********************************************************************
main:main.o fun.o
gcc main.o fun.o -o main
main.o:main.c fun.h
gcc -c main.c -o main.o
fun.o:fun.c fun.h
gcc -c fun.c -o fun.o
clean:
rm -f main *.o
下面这用变量来实现makefile的编写
obj=main.o fun.c
main: $(obj)
gcc $(obj) - o main
此时obj为环境变量 在makefile中,存在系统默认的环境变量
》$^ :仅代表所有的依赖文件
》 $@ :代表目标文件
》 $的makefile可写成
@*********************************************************************
@makefile
@系统默认的环境变量
@*********************************************************************
main:main.o fun.o
gcc $^ -o $@
main.o:main.c fun.h
gcc -c $makefile
@自定义
@*********************************************************************
obj=main.o fun.o
cc = gcc
main:$(obj)
$(cc) $(obj) -o $@
main.o:main.c fun.h
$(cc) -c Smakefile中的#字符后的内容被视为注释
@用于取消回显
发表评论
-
图象显示
2012-01-09 09:41 755图象显示 2009年11月15日 医用图像处理系统是利用 ... -
部分MATLAB代码
2012-01-09 09:41 1702部分MATLAB代码 2009年09 ... -
操蛋的智能仪器
2012-01-09 09:41 678操蛋的智能仪器 2011年0 ... -
matlab
2012-01-09 09:41 1091matlab 2011年05月17日 ... -
警惕网页隐形代码 防范五种系统杀手
2012-01-08 09:25 539警惕网页隐形代码 防范 ... -
VBS教程2
2012-01-08 09:25 597VBS教程2 2011年02月19日 ... -
VBS教程3
2012-01-08 09:25 522VBS教程3 2011年02月19日 下一篇:VBS系列 ... -
IE定期刷新网页的VBS脚本
2012-01-08 09:25 1168IE定期刷新网页的VBS脚 ... -
VBS脚本常用经典代码收集
2012-01-08 09:25 914VBS脚本常用经典代码收集 2010年06月26日 标签 ... -
makefile教程 7
2012-01-07 09:16 583makefile教程 7 2010年09月2 ... -
Makefile学习(三)
2012-01-07 09:16 489Makefile学习(三) 2010年01 ... -
Linux内核Makefile文件
2012-01-07 09:16 569Linux内核Makefile文件 2011年06月06日 ... -
Makefile中的变量
2012-01-07 09:16 596Makefile中的变量 2010年03月25日 Ma ... -
广西艺术学院2012年本科招生专业考试通知
2012-01-06 10:06 677广西艺术学院2012年本科招生专业考试通知 2011年12月 ... -
《 中国当代艺术“价值观” 》 高岭 (六) 完
2012-01-06 10:06 543《 中国当代艺术“价值 ... -
剪刀手爱德华(二)镜式文本分析
2012-01-06 10:06 2493剪刀手爱德华(二)镜式 ... -
2012年北京师范大学艺术类本科招生简章
2012-01-06 10:06 6032012年北京师范大学艺术 ... -
天津工业大学2012年艺术类专业招生简章
2012-01-06 10:06 767天津工业大学2012年艺术类专业招生简章 2012年01月0 ... -
中国古代的衣食住行
2012-01-05 13:27 477中国古代的衣食住行 2010年04月06日 对中国古 ... -
关于松
2012-01-05 13:27 534关于松 2011年04月21日 ...
相关推荐
1、了解Makefile的基本概念和基本结构 2、初步掌握编写简单Makefile的方法 3、了解递归Make的编译过程 4、初步掌握利用GNU Make编译应用程序的方法
Makefile简单的例子,了解这个后可以快速读懂复杂的Makefile结构.适合从事嵌入式开发的从业者学习.
文档中详细讲解了makefile组织结构和编写技巧,阅读后便可对makefile有一个全面的了解,不仅能够很好理解makefile,还能编写简单实用的makefile。
一个简单的makefile示例及其注释相信在unix下编程的没有不知道makefile的,刚开始学习unix平台下的东西,了解了下makefile的制作,觉得有
跟我一起写_Makefile,学习MAKEFILE的基础运用,增加对MAKEFILE 的了解。学习写简单的AMKEfile
本文由简单到难,深入讲解Makefile的使用,另外有C++、C代码示例讲解,是了解和学习Makefile的必备。
Makefile 超简易教程.txt 了解Makefile最简单的方法
内容摘要:使用“epoll+线程池”技术,通过makefile管理的简单项目——“服务器与客户端完成通信并处理小型业务” 技术涉及:网络初始化、epoll模型、线程池、线程同步、互斥锁 适用人群:在校大学生,并对网络通信...
挺不错的,真的挺不错的,是自学的好帮手,可以简单的了解linux
了解了标准的Makefile后,发现Android.mk其实是把真正的Makefile包装起来,做成了一个对使用者来说很简单的东西。使用它来编译程序时,不管是动态库、可执行的二进制文件,还是Jar库、APK包,只要沿着一个简单的思路...
编写一个简单的C语言程序,编写Makefile文件。了解编译过程,并用gdb进行调 试。 (2) 编写一个多线程程序(pthread),实现2程同步互斥 #include <stdio.h> #include <pthread.h> #define BUFFER_SIZE 16 struct ...
后来经同学介绍,用起了winavr,其实也是比较的简单,只不过要加一个makefile而已,其实makefile可以用软件自带的组建自动生成,只需修改几个参数就可以用。后来又用起了code vision avr,虽然不太习惯,也谈不上不...
作为一个总是用C来写代码的人来说,第一次了解到代码生成的时候我最先开始想研究的就是怎么能让生成的代码用到嵌入式控制器中。在最开始,没有Green Hills、没有matlab的硬件支持包,不会makefile,就算环境如此简陋...
corba 工程例子,在lunix环境下运行makefile 生成客户端和服务端程序,例子简单,容易理解,希望对想了解corba通讯的人有所帮助,corba相对来说比较难懂,希望你有钻研的精神,不要半途而废
JZ2440教程中的LED驱动源码makefile文件,完整的驱动文件,学习简单的驱动移植,了解Linux的驱动架构
简单的字符设备的驱动程序,并对所编写的设备驱动程序进行测试,了解Linux操作系统如何管理字符设备。由于网上许多资源不完整,本资源整合了许多内容。包括驱动程序memdev.c,memdev.h,app-mem.c,MakeFile文件。...
下载时请注意:这是我写的一个简单的测试程序,注释很少,代码比较乱,可读性低,但里面所含的技术,作为初学者了解一下是很有必要的。 程序功能:通过glx将x11和sdl创建的窗口联系起来(不是sdl-opengl的东西)供...
我正在编写一个简单的操作系统,以了解有关OS实现,x86体系结构和裸机Rust的更多信息。 非常感谢以下来源提供的课程和信息,这些都是我用来帮助编写的: 特征 我要实现的功能的基本列表: 启动进入Rust内核 ...
我们创建这个项目是因为 AWS 控制台目前缺少页面,而且如果您想快速了解 ECS 集群的状态,使用 CLI 工具会很痛苦。 该项目提供的只是:一个 ECS 集群状态一页。 它目前看起来像这样: 安装 将此存储$GOPATH到您的$...
2.(练习1)会使用make编译文件,了解Makefile中的主要组成,实验报告中要有简单介绍 3.(练习2)学会使用qemu与gdb协作进行调试ucore代码