实例:对一个Makefile的备注

Posted 思考与实践并行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实例:对一个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

 

以上是关于实例:对一个Makefile的备注的主要内容,如果未能解决你的问题,请参考以下文章

Makefile

vim+makefile入门编辑,编译,差错实例

创建片段而不从 java 代码实例化它

makefile 引用

vim和makefile问题

makefile中的Cflags用法