首页 资讯 应用 高压 设计 行业 低压 电路图 关于

嵌入式

旗下栏目: PLC 嵌入式 单片机 DCS

Linux系统Makefile备注实例

嵌入式 | 发布时间:2017-10-23 | 人气: | #评论# |本文关键字:Linux,C#
摘要:实例1: Makefile编译链接简单.c函数 example.c Makefile 1exe:example.c2gccexample.c-oexe34clean:5rmexe 执行效果: 实例2: CC = arm-linux-gcc LD = arm-linux-ld OBJCOPY = arm-linux-objcopy OBJDUMP = arm-linux-objdump AR = arm

实例1:Makefile编译链接简单.c函数

example.c

Makefile编译链接简单.c函数

Makefile

1 exe: example.c2         gcc example.c -o exe3 4 clean:5         rm exe

执行效果:

Makefile编译链接简单.c函数

实例2:

CC        = arm-linux-gcc

LD         = arm-linux-ld

OBJCOPY    = arm-linux-objcopy

OBJDUMP    = arm-linux-objdump

AR        = arm-linux-ar

INCDIR    := $(shell pwd)

# C预处理器的flag,flag就是编译器可选的选项

CPPFLAGS    := -nostdlib -nostdinc -I$(INCDIR)/include

# C编译器的flag

CFLAGS        := -Wall -O2 -fno-builtin

#导出这些变量到全局,其实就是给子文件夹下面的Makefile使用

export CC LD OBJCOPY OBJDUMP AR CPPFLAGS CFLAGS

objs := start.o led.o clock.o uart.o main.o stdio.o 

#变量在声明时需要给予初值,在使用时需要在变量名前加上$,给变量加上括号是为了更加安全地使用这个变量

#如果需要使用真实的$符号,那么需要用$$来表示

uart.bin: $(objs)                        

    $(LD) -Tlink.lds -o uart.elf $^

    $(OBJCOPY) -O binary uart.elf uart.bin

    $(OBJDUMP) -D uart.elf > uart_elf.dis

    gcc mkv210_image.c -o mkx210

    ./mkx210 uart.bin 210.bin

lib/libc.a:

    cd lib;    make;    cd ..

#[email protected]表示规则中的目标文件集,在模式规则中,如果有多个目标,那么其就是匹配于目标中模式定义的集合;

#$<依赖目标中的第一个目标名字,如果依赖目标是以模式(即"%")定义的,那么“$<”将是符合模式的一系列的文件集

%.o : %.S

    $(CC) $(CPPFLAGS) $(CFLAGS) -o [email protected] $< -c

%.o : %.c

    $(CC) $(CPPFLAGS) $(CFLAGS) -o [email protected] $< -c

clean:

    rm *.o *.elf *.bin *.dis mkx210 -f

责任编辑:电气自动化网

热门文章

首页 | 资讯 | 应用 | 高压 | 设计 | 行业 | 低压 | 电路图 | 关于

Copyright 2017-2018 电气自动化网 版权所有 辽ICP备17010593号-1

电脑版 | 移动版

Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。