一个简单的makefile,使用ADS1.2编译器

################################################################################
# Copyright (c) 2008 XuYizhu(xuyizhu@live.cn)
# All rights reserved.
################################################################################

# Description: makefile模板,使用ADS1.2编译器
# Data   : 2008.4.29
# Author  : 徐亦朱
# Version    : 1.1

##################################################
# Modify  : 2008.4.30, XuYizhu
# Decription : 修正了指令区排列方式
# Version    : 1.2

############################## 宏变量区 ########################################

PAT = /C/ADSv1_2/Bin

AR  = $(PAT)/armar
AS  = $(PAT)/armasm
CC  = $(PAT)/armcc
#CXX
CPP = gcc
LD  = $(PAT)/armlink
RM  = rm -f
PS  = c
OBJTOOL = $(PAT)/fromelf

#ARFLAGS
ASFLAGS = -keep -g
CFLAGS  = -apcs //nointerwork/noropi/norwpi/noswstackcheck -ansic -cpu ARM7TDMI -g+ -O1 -Ono_known_library /
       -zo -littleend
#CXXFLAGS
CPPFLAGS= 
LDFLAGS = -info totals -entry 0x80000000 -scatter ./mem_a.scf

DESTINATION := test
SOURCES  := $(wildcard *.$(PS))
OBJS  := $(patsubst %.$(PS),%.o,$(SOURCES))
DEPS  := $(patsubst %.$(PS),%.d,$(SOURCES))

############################## 搜索路径 ########################################

############################## 规则 ############################################

%.bin: %.axf
 @echo "### 生成BIN档 ..."
 $(OBJTOOL) -c -bin -output $@ $<

%.hex: %.axf
 @echo "### 生成HEX文件 ..."
 $(OBJTOOL) -c -i32 -output $@ $<

%.d: %.c
 @echo "### 生成自动依赖关系 ...";/
 set -e; $(RM) $@;/
 $(CPP) -MM $(CPPFLAGS) $< > $@.$$$$;/
 sed 's,/($*/)/.o[ :]*,/1.o $@ :,g'< $@.$$$$ > $@;/
 $(RM) $@.$$$$

%.o: %.s
 @echo "### 汇编中 ..."
 $(AS) $(ASFLAGS) -o $@ $<

%.o: %.c
 @echo "### 编译中 ..."
 $(CC) $(CFLAGS) -c -o $@ $<

############################## 指令区 ##########################################

.PHONY: all bin hex deps objs clean rebuild

all: $(DESTINATION).axf $(DESTINATION).bin $(DESTINATION).hex

$(DESTINATION).axf: $(OBJS) Startup.o IRQ.o
 @echo "### 连接中 ..."
 $(LD) $(LDFLAGS) -o $@ $^

deps: $(DEPS)

-include $(DEPS)

objs: $(OBJS) Startup.o IRQ.o

clean:
 @echo "### 清除中间文件 ..."
 $(RM) *.o *.d

clean_all:
 $(RM) *.o *.d $(DESTINATION).axf $(DESTINATION).bin $(DESTINATION).hex
 
rebuild: clean_all all

############################## END #############################################

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值