https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js

Makefile文件示例

整个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

 

posted @ 2023-02-13 14:08  SLOWBY  阅读(50)  评论(0编辑  收藏  举报