实例:对一个Makefile的备注

 1 CC        = arm-linux-gcc
 2 LD         = arm-linux-ld
 3 OBJCOPY    = arm-linux-objcopy
 4 OBJDUMP    = arm-linux-objdump
 5 AR        = arm-linux-ar
 6
 7 INCDIR    := $(shell pwd)
 8 # C预处理器的flag,flag就是编译器可选的选项
 9 CPPFLAGS    := -nostdlib -nostdinc -I$(INCDIR)/include
10 # C编译器的flag
11 CFLAGS        := -Wall -O2 -fno-builtin
12
13 #导出这些变量到全局,其实就是给子文件夹下面的Makefile使用
14 export CC LD OBJCOPY OBJDUMP AR CPPFLAGS CFLAGS
15
16
17 objs := start.o led.o clock.o uart.o main.o stdio.o
18
19 #变量在声明时需要给予初值,在使用时需要在变量名前加上$,给变量加上括号是为了更加安全地使用这个变量
20 #如果需要使用真实的$符号,那么需要用$$来表示
21 uart.bin: $(objs)
22     $(LD) -Tlink.lds -o uart.elf $^
23     $(OBJCOPY) -O binary uart.elf uart.bin
24     $(OBJDUMP) -D uart.elf > uart_elf.dis
25     gcc mkv210_image.c -o mkx210
26     ./mkx210 uart.bin 210.bin
27
28 lib/libc.a:
29     cd lib;    make;    cd ..
30
31 #[email protected]表示规则中的目标文件集,在模式规则中,如果有多个目标,那么其就是匹配于目标中模式定义的集合;
32 #$<依赖目标中的第一个目标名字,如果依赖目标是以模式(即"%")定义的,那么“$<”将是符合模式的一系列的文件集
33 %.o : %.S
34     $(CC) $(CPPFLAGS) $(CFLAGS) -o [email protected] $< -c
35
36 %.o : %.c
37     $(CC) $(CPPFLAGS) $(CFLAGS) -o [email protected] $< -c
38
39 clean:
40     rm *.o *.elf *.bin *.dis mkx210 -f
时间: 2024-12-28 15:46:19

实例:对一个Makefile的备注的相关文章

[编译] 1、第一个makefile简单例子

前言 本篇用一个最简单的例子引入makefile,教你编写第一个makefile 正文 在Download/aa文件夹下有a.c和makefile文件 1 [email protected]:~/Downloads/aa$ ls 2 a.c makefile 其中a.c为: 1 #include<stdio.h> 2 int main() 3 { 4 int i,j; 5 for(i=0;i<10;i++) 6 { 7 for(j=2*i+1;j>0;j--) 8 { 9 prin

每天一个JavaScript实例-从一个div元素删除一个段落

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-从一个div元素删除一个段落</title> <style> p{ padding:20px; margin:10px 0; width:

【shell脚本实例】一个恶作剧—— kill掉占用CPU较高的matlab进程

我们实验室有台服务器,博士们在服务器上跑MATLAB,基本都是4核都是超过95%的CPU占用,想了个恶作剧的shell 定时kill掉MATLAB程序,是不是很邪恶啊,哈哈~~~  不过我只是干过一次,因为老伯们也不容易啊,屌丝何苦为难屌丝... 废话不多说了上脚本! ? 1 2 3 找出CPU占用超过90%的MATLAB进程,grep -v 去掉"grep"进程 pids=`ps aux|grep "MATLAB"|grep -v "grep"

Linux 我的第一个makefile(Linux指令学习笔记)

我的第一个makefile 最近学到了makefile的文件的编写.makefile是一个能达到方便编译链接生成目标程序的文件, make确实很方便,在写makefile的过程也能更好的理解gcc编译器执行生成可执行文件的全过程.这里是我 的第一个makefile的编写. makefile根据依赖,逐步解析生成目标文件. 首先指定all:ef  生成最终目标文件ef 生成ef的前提是依赖ef:total.o sum.o mul.o 依赖三个目标文件. 所以我们要另外指定gcc的执行 gcc -o

阿里云数据库实例的一个db被开发人员删除了 如何恢复

1没有 逻辑备份的话. 如下操作即可 可以将那个临时实例的需要导的db用逻辑备份出来恢复到主实例就行了 好多朋友都在问,RDS中把数据恢复到7天内任意时间点的功能在哪里啊? 其实挺简单的,只需要五步操作,为了不影响您的主实例正常运行,在恢复过程中会帮您创建一个临时实例.   一.在RDS控制台中选择“备份与恢复—临时实例—按时间点创建临时实例”:   二.选择过去7天内任意时间点后选择“创建”:   三.这个时候可以在右上角点击查看备份正在恢复中.恢复大概需要10到20分钟左右,具体的恢复时间跟

MySQL系列之D-2------MySQL多实例添加一个实例

D-2.1   添加一个实例(3309实例) D-2.1.1.创建目录 # cd /data # mkdir 3309/data D-2.1.2.创建my.cnf文件在/data/3309 [client] port=3309 socket=/data/3309/mysql.sock prompt=\\[email protected] \\r:\\m:\\s-> [mysqld] basedir =/mysql datadir =/data/3309/data port =3309 serve

C实例--判断一个字符串是否是回文数

回文是指顺读和反读内容均相同的字符串,例如"121","ABBA","X"等.本实例将编写函数判断字符串是否是回文. 引入两个指针变量,开始时,两个指针分别指向字符串的首末字符,当两个指针所指字符相等时,两个指针分别向后和向前移动一个字符位置,并继续比较,直到两个指针相遇,说明该字符串是回文,如果比较过程中发现两个指针指向的字符不相等,则判断该字符串不是回文. 下面是代码的实现部分: #include <stdio.h> #inclu

创建一个实例&amp;创建一个线程。。

1 using System; 2 using System.Threading; 3 4 5 namespace WorkerThread02 6 { 7 class ThreadTest 8 { 9 bool done; 10 static void Main() 11 { 12 ThreadTest tt=new ThreadTest();//创建一个类的实例 13 Thread t=new Thread(WriteY);//创建一个线程. 14 .............. 15 ...

WebAPI实例--第一个API

今天终于做了第一个任务,学习API之后的第一个实例.销售设置开发API. 第一.层次结构 1.API各层 项目结构主要有五层,分别为API.BizModel.Data.DBModel.Logic. 2.各层作用 首先对于微服务架构来说,前后端分离,后端提供数据支撑,前端UI通过API获取数据. API为controller接收参数,controller层不做任何逻辑处理,只是通过Model接收参数,调用Logic进行逻辑处理. BizModel为对应前端UI的实体数据模型.我们都知道DBMode