Makefile文件示例

发布者:RadiantSerenity最新更新时间:2025-02-08 来源: cnblogs关键字:Makefile  S5PV210 手机看文章 扫描二维码
随时随地手机看文章

整个makefile文件示例:


#Design by slowby for S5PV210

#define var

#目标文件,终极目标

TARGET:= led.bin

BUILD := led

#如果没定义SD ?表示没定义

MYENV?= SD

SDTOOLS:= ./mk210  #sdtools截取前

16kB的内容,mkv210_image.c

#多文件

COBJS+= start.o

COBJS+= main.o

COBJS+= led.o


#工具集

CROSS_COMPILE = arm-linux-

#交叉编译器

CC:= $(CROSS_COMPILE)gcc

#链接器

LD:= $(CROSS_COMPILE)ld


#去文件格式转换工具

OBJCOPY := $(CROSS_COMPILE)objcopy

#编译选项

#显示警告信息

CFLAGS+= -Wall

#增加头文件查找目录

CFLAGS+= -I./inc


#链接选项

#主要是链接地址

#添加链接脚本,可以不用在意COBJS的添加顺序 -T是必须的,链接脚本名为map.lds

LDFLAGS+= -Tmap.lds

#. = 0x0; + -Ttex 的值作为基地址

ifeq ($(MYENV),SD)

    LDFLAGS+= -Ttext=0x0

else

    LDFLAGS+= -Ttext=0x20000000

endif


#Way

#$@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件。

all:$(TARGET)

ifeq ($(MYENV),SD)

    #SD

    #生成临时目标文件$@.TMP

    #添加头信息校验

    $(TARGET):$(BUILD)

    $(OBJCOPY) -O binary $^ $@.TMP

    $(SDTOOLS) $@.TMP $@

    cp $@ ../bin -f

else

    #RAM

    #所有的$^依赖文件,生成目标文件$@

    $(TARGET):$(BUILD)

    $(OBJCOPY) -O binary $^ $@

    cp $@ ../bin -f

endif


#链接 依赖于$^生成$@

$(BUILD):$(COBJS)

    $(LD) $(LDFLAGS) -o $@ $^


#编译

#所有的.c生成所有的.o

%.o:%.c

    $(CC) $(CFLAGS) -c -o $@ $^

    

#大S,c语言可以去处理汇编

%.o:%.S

    $(CC) $(CFLAGS) -c -o $@ $^

                

clean:

    rm -f $(TARGET) $(BUILD) *.o


关键字:Makefile  S5PV210 引用地址:Makefile文件示例

上一篇:专题8-I2C驱动程序设计-第3课-I2C子系统
下一篇:ARM微处理器的七种运行模式

推荐阅读最新更新时间:2026-03-24 12:48

I2C总线浅谈之(四)--STM8的IIC驱动文件示例
本示例提供STM8S103F核心板的IIC驱动文件源代码,亲测没有任何问题,博主使用来驱动AT24C256和电子罗盘MMC5883MA,IIC通信速率100kHz,可以调整时序延时时间。 直接贴源码: IIC.h #ifndef _IIC_H #define _IIC_H #include iostm8s103F3.h #include type_def.h #define IIC_SCL PC_ODR_ODR5 //设置SCL为GPIO--PC5 #define IIC_SDA PC_ODR_ODR6 //设置SDA为GPIO--PC6 #define READ_SDA
[单片机]
Matlab文件操作示例
Matlab文件操作示例 问题1:如何在matlab中读取数据文件 将如下格式的数据文件data.txt装载到内存中,并生成一个二维数组 1 0.0002 2 2 0.0004 3 3 0.3 4 输入命令“load -ascii data.txt”,此时数组data已经存在,输入命令“data”可以察看data load -ascii data.txt data data = 1.0000 0.0002 2.0000 2.0000 0.0004 3.0000 3.0000 0.3000 4.0000 问题2:如何将数组的数据保存到数据文件? Use the Save command.
[嵌入式]
【Linux】GCC+Makefile打造正点原子stm32单片机开发环境
arm-none-eabi-gcc+stlink-tool+Makefile 正点原子精英STM32F103ZET6开发板采用V3.5库的头文件 下载固件库:https://www.st.com/content/ccc/resource/technical/software/firmware/48/ab/e5/17/0d/79/43/74/stsw-stm32054.zip/files/stsw-stm32054.zip/jcr:content/translations/en.stsw-stm32054.zip 解压得到STM32F10x_StdPeriph_Lib_V3.5.0 新建文件夹:stm32,stm32/lib,s
[单片机]
stm32 makefile
# toolchain CC = arm-none-eabi-gcc CP = arm-none-eabi-objcopy AS = arm-none-eabi-gcc -x assembler-with-cpp # all the files will be generated with this name PROJECT_NAME=stm32f10x_project # user specific SRC += ./user/main.c # startup ASM_SRC += ./user/startup_stm32f103xe.s OBJECTS = $(ASM_SRC:.
[单片机]
Makefile 解析
最简约的 Makefile 文件如下 SRCS = main.c src/add.cOBJS = $(SRCS:%.c=%.o)CFLAGS = -Iincall: $(OBJS) CC $(CFLAGS) $(OBJS) -o a.exe%.o: %.c CC $(CFLAGS) -c $ -o $@ clean: rm $(OBJS) 只要列出详细的源文件路径, OBJ 直接从 SRC 替换 .c 得来, 然后直接在以OBJ作为依赖, 假设已经得到所有 OBJ文件, 即可直接使用 CC 进行链接即可, 而 OBJ 列表中的内容则由 %.o: %.c 一个一个匹配生成. 最后清除所有中间文件也十分的简单, 直
[单片机]
迅为4412开发板实验_Makefile编译(下)
4.5Makefile 文件 接前一小节的内容,继续介绍系统是如何一步一步编译出内核镜像的。 在这里仍然以 LEDS 小灯为例。 4.5.1 宏定义 LEDS_CTL 的使用 如下图所示,led 驱动属于字符驱动,字符驱动一般是在源码目录“drivers/char/”下。 如上图所示,这里要关注的文件只有框框中的三个“itop4412_leds.c”, “itop4412_leds.o”,“Makefile”。 itop4412_leds.c :比较好理解,就是 led 驱动的源码 itop4412_leds.o :这个是生成最终 zImage 二进制的中间文件 Makefile :就是 Make 命令所需要的文件 这里不关心
[单片机]
迅为4412开发板实验_<font color='red'>Makefile</font>编译(下)
3.Makefile工程管理
一、体验 在前面的笔记里可以看到,要编译一个简单的工程需要的编译步骤是很多的。前面还是只有一个汇编文件,在一个工程里,会有很多文件的,如果像前面的那种编译方式是很不可靠的。这就需要Makefile工程管理。 例如前面的那个led.S,要编译成led.bin的步骤:图1-1: arm-linux-gcc -g -c led.S arm-linux-ld -Tled.lds -o led.elf led.o arm-linux-objcopy -O binary led.elf led.bin 图1-1 经过上面的三个步骤,编译出了led.bin。看到里面也有一个Makefile文件,里面的内容:图1-2: all: led.o
[单片机]
3.<font color='red'>Makefile</font>工程管理
uboot1.1.6顶层makefile详解
VERSION = 1//主版本号 PATCHLEVEL = 1//次版本号 SUBLEVEL = 6//修正版本号 EXTRAVERSION =//版本号扩展 U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)//这个Uboot的版本为1.1.6 VERSION_FILE = $(obj)include/version_autogenerated.h HOSTARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved