Makefile

来源:互联网 发布:淘宝的管控记录是什么 编辑:程序博客网 时间:2024/06/04 01:36

1通用的makefile,支持SD卡启动和在uboot下直接运行在ram

     1)程序运行时地址不同   DDR2:0X20000000   SD:0X0

     2)SD 16KB,需要加一个头信息,校验   RAM:  不需要头信息

2 变量集合*.c---*.o---bulid---bulid.bin  ELF

    TARGET:DEP

         COMMAND

#define var

TARGET :=LED.bin

BULID    :=led

ENV ?=SD

SDTOOLS:=./mk210

CROSS-COMPILE :=arm-linux-

COBJS  +=start.o

COBJS  +=main.o

CC         :=$(CROSS-COMPILE)gcc

LD          :=$(CROSS-COMPILE)ld

OBJCOPY:=$(CROSS-COMPILE)objcopy

CFLAGS +=-Wal

CFLAGS +=-I./inc

LDFLAGS+=-I./inc

ifeq($(ENV),RAM)

LDFLGS +=-Ttext=0x0

else

LDFLGS +=-Ttext=0x20000000

endif

#Way

all:$(TARGET)

ifeg ($ (ENV),RAM)

$(TARGET):$(BULID)

      $(OBJCOPY)  -O binary  $^  $@

else

$(TARGET):$(BULID)

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

      $(SDTOOLS)  $@.TMP  $@

endif

$(TBULID):$(COBJS)

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

%.o : %.c

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

%.o : %.S

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

clean:

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




    




0 0
原创粉丝点击