首页 > 代码库 > 实例:对一个Makefile的备注
实例:对一个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)/include10 # C编译器的flag11 CFLAGS := -Wall -O2 -fno-builtin12 13 #导出这些变量到全局,其实就是给子文件夹下面的Makefile使用14 export CC LD OBJCOPY OBJDUMP AR CPPFLAGS CFLAGS15 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.bin24 $(OBJDUMP) -D uart.elf > uart_elf.dis25 gcc mkv210_image.c -o mkx21026 ./mkx210 uart.bin 210.bin27 28 lib/libc.a:29 cd lib; make; cd ..30 31 #$@表示规则中的目标文件集,在模式规则中,如果有多个目标,那么其就是匹配于目标中模式定义的集合;32 #$<依赖目标中的第一个目标名字,如果依赖目标是以模式(即"%")定义的,那么“$<”将是符合模式的一系列的文件集33 %.o : %.S34 $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< -c35 36 %.o : %.c37 $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< -c38 39 clean:40 rm *.o *.elf *.bin *.dis mkx210 -f
实例:对一个Makefile的备注
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。