1.Makefile格式

//最终目标

all: led.o //依赖

arm-linux-ld -Tled.lds -o led.elf led.o //命令

arm-linux-objcopy -O binary led.elf led.bin //命令

//目标

led.o : led.S//依赖

arm-linux-gcc -g -o led.o -c led.S //命令

.PHONY: clean

//伪目标--无依赖

clean:

rm *.o led.elf led.bin //命令

2.Makefile 变量

使用变量前:
app1 : app1 .o func1 .o func2.o
gcc app1 .o func1 .o func2.o - o app1
app2: app2.o func1 .o func2.o
gcc app2.o func1 .o func2.o - o app2
obj=func1 .o func2.o
app1 : app1 .o $(obj)
gcc app1 .o $(obj) - o app1
app2: app2.o $(obj)
gcc app2.o $(obj) - o app2

3.makefile规则

makefile中,用 户 除了 可以自 己定义变量外, 还可以使用
存在系统已经定义好的默认变量。
v $^: 代表所有的依赖文件
v $@: 代表目标
v $<: 代表第一个依赖文件
使用前:
led.o : led.S
arm- linux- gcc -g o led.o - c led.S
使用后:
led.o : led.S
arm- linux- gcc -g o $@ - c $^

4.%表示任意的名字--通用规则

all:led.bin
led.bin: led.o
    arm-linux-ld -Tled.lds -o led.elf led.o
    arm-linux-objcopy -O binary led.elf led.bin

%.o : %.S
    arm-linux-gcc -g -o $@ $< -c

.PHONY: clean
clean:
    rm *.o led.elf led.bin led.dis

5.Makefile回显

Makefile中“#”字符后的内 容被视作注释。
hello: hello.c
@gcc hello. c o hello
@:取消回显 ( 演示)

6.文件名

make命令默认在当 前目 录下寻找名字为
makefile或者Makefile的工程文件, 当 名字
不为这两者之一时, 可以使用 如下方法指
     make f 文件名

Makefile 规则的使用的更多相关文章

  1. Makefile规则③规则语法、依赖、通配符、目录搜寻、目标

    规则语法 通常规则的语法格式如下: TARGETS : PREREQUISITES COMMAND ... 或者: TARGETS : PREREQUISITES ; COMMAND COMMAND ...

  2. 编写Makefile规则

    一个工程中的源文件不计其数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作 ...

  3. makefile规则整理

    makefile规则整理 实际开发中,makefile改的多,写的少. 为了后面不要在编译链接这种地方花费太多的时间,在这里系统性的整理其规则: 基本格式 TARGET : PREREQUISITES ...

  4. 【ASM C/C++】 Makefile 规则说明

    make 命令会自动读取当前目录下的 Makefile 文件[31],完成相应的编译步骤.Makefile 由一组规则(Rule)组成,每条规则的格式是:target ... : prerequisi ...

  5. 自动构建Makefile(1)--C/C++编译流程&Makefile规则简介

      前言: 大家在Windows上使用VS构建C/C++程序时,不需要自己编辑略显晦涩的Makefile文件,而对于初学者而言, 他们甚至没意识到它的存在.VS是自动生成Makefile文件, 并构建 ...

  6. makefile复习时发现的编写makefile规则注意事项

    博客中关于makefile的博文数不胜数,比较经典的都很相似,下面这一片,很全面,只是很长,可以作为参考资料:http://blog.csdn.net/liang13664759/article/de ...

  7. makefile笔记3 - makefile规则

    target ... : prerequisites ... command ... ... 规则包含两个部分,一个是依赖关系,一个是生成目标的方法. 在 Makefile 中,规则的顺序是很重要的, ...

  8. Makefile规则介绍

    Makefile 一个规则 三要素:目标,依赖,命令     目标:依赖 命令 1.第一条规则是用来生成终极目标的规则     如果规则中的依赖不存在,向下寻找其他的规则 更新机制:比较的是目标文件和 ...

  9. make的使用和Makefile规则和编程及其基本命令(简单)

      转自:http://blog.chinaunix.net/uid-23929712-id-2650328.html   概述: make从Makefile中文件中获取模块间的依赖关系,判断哪些文件 ...

随机推荐

  1. SQL SERVER修改排序规则——脚本篇

    在上篇MS SQL 排序规则总结中,大致就数据库服务器排序规则(或者叫数据库实例排序规则).数据库排序规则.列的排序规则粗浅的叙说了一遍,重点讲述了修改数据库服务器排序规则(数据库实例排序规则),其中 ...

  2. javascript-观察者模式

    观察者模式方法   1.称之为消息机制或发布-订阅者模式   2.定义了一种依赖关系解决了主体对象与观察者之间功能的耦合 观察者方法 //将观察者放在闭包中,当页面加载就立即执行 var Observ ...

  3. SQL Server 2000:快速清除日志文件的方法

    通过文章 SQL Server中“数据收缩”详解 和 SQLServer删除log文件和清空日志的方法 可以整理出一种快速删除数据库日志的方法,即 第一步:清空日志文件里的数据: 第二步:收缩日志文件 ...

  4. 聊下git pull --rebase

    有一种场景是经常发生的. 大家都基于develop拉出分支进行并行开发,这里的分支可能是多到数十个.然后彼此在进行自己的逻辑编写,时间可能需要几天或者几周.在这期间你可能需要时不时的需要pull下远程 ...

  5. W3School-CSS 内边距 (padding) 实例

    CSS 内边距 (padding) 实例 CSS 实例 CSS 背景实例 CSS 文本实例 CSS 字体(font)实例 CSS 边框(border)实例 CSS 外边距 (margin) 实例 CS ...

  6. CentOS安装LNMP环境的基础组件

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 在安装LNMP环境之前,请确保已经使用yum安装了以下各类基础组件(如果系统已自带,还可以考虑yum update下基础组件): ...

  7. Google的Java常用类库 Guava资料

    java的人应该都知道Apache commons的java常用类库吧,这个Guava和commons一样,封装出一套比jdk本身提供的常用类库强大.既然有了这个这么强大的类库,我们就没必要重复造轮子 ...

  8. NopCommerce 增加 Customer Field

    预期效果: Customer表新增一个Column 该新增字段可以在Admin段 新增 修改 列表查询及显示 示例步骤: 0.数据库表修改 alter table [Customer] add Mem ...

  9. c++适配器

    容器适配器是是标准库中通用的概念,包括容器适配器.迭代器适配器和函数适配器,本质上,适配器是使一种事物的行为类似于另一种事物的的行为的一种机制,容器适配器使一种已经存在的容器类型采用另一种不同的抽象类 ...

  10. 理解ThreadLocal(之一)

    ThreadLocal是什么 在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地编 ...