makefile

来自「一款corefire的bootloader源码 型号 5407 编译环境 c」· 代码 · 共 113 行

TXT
113
字号
#####################################################################
#
# File:		Makefile
# Purpose:	Makefile for MCF5407 Initialization template
#
#####################################################################

BOARD   = M5407C3
CPU		= MCF5407
OBJDIR  = obj
OPTIONS = DEBUG

DTOF	= MCF5307FS
CCDIR	= c:/diab/4.2b
CCFLAGS	= -I.
CFLAGS	= $(CCFLAGS) -D$(BOARD) -D$(CPU) -D$(OPTIONS) -g 

ASFLAGS =
LDFLGS	= -YS,. -m2
CC		= $(CCDIR)/WIN32/bin/dcc -t$(DTOF)
AS		= $(CCDIR)/WIN32/bin/das -t$(DTOF)
LD		= $(CCDIR)/WIN32/bin/dld -t$(DTOF) $(LDFLGS)
DD		= $(CCDIR)/WIN32/bin/ddump
AR		= $(CCDIR)/WIN32/bin/dar

#####################################################################

MKDIR = \
	mkdir obj

OBJS =	\
	$(OBJDIR)/vectors.o		\
	$(OBJDIR)/mcf5407_lo.o	\
	$(OBJDIR)/io.o			\
	$(OBJDIR)/printf.o		\
	$(OBJDIR)/int_handlers.o	\
	$(OBJDIR)/sysinit.o		\
	$(OBJDIR)/main.o

#####################################################################
#
# Rules for compilation
#
#####################################################################

$(OBJDIR)/%.o : src/%.c
	$(CC) -Xlint $(CFLAGS) -c $< -o $@

$(OBJDIR)/%.o : src/%.s
	$(CC) $(CFLAGS) -D_UNDERSCORE_ -W:pas:.s -Wa,$(ASFLAGS) -c $< -o $@

#####################################################################
#
# Targets
#
#####################################################################

all:		\
	flash	\
	upuser	\
	ram
	
flash: ${OBJDIR} $(OBJS)
	@ echo
	@ echo
	@ echo Linking for Flash part programmer
	@ echo
	@ rm -f $(OBJDIR)/5407initFL.dld
	@ for filename in $(OBJS);  \
	do echo $${filename} >> $(OBJDIR)/5407initFL.dld;   \
	done
	@ cat flash.dld >> $(OBJDIR)/5407initFL.dld
	$(LD) $(OBJDIR)/5407initFL.dld -lc > $(OBJDIR)/5407initFL.map
	$(DD) -Rv a.out -o $(OBJDIR)/5407initFL.s19
	cp a.out $(OBJDIR)/5407initFL.elf
	@ $(RM) a.out 

upuser: ${OBJDIR} $(OBJS)
	@ echo
	@ echo
	@ echo Linking for use with dBUG upuser command
	@ echo
	@ rm -f $(OBJDIR)/5407initUP.dld
	@ for filename in $(OBJS);  \
	do echo $${filename} >> $(OBJDIR)/5407initUP.dld;   \
	done
	@ cat upuser.dld >> $(OBJDIR)/5407initUP.dld
	$(LD) $(OBJDIR)/5407initUP.dld -lc > $(OBJDIR)/5407initUP.map
	$(DD) -Rv a.out -o $(OBJDIR)/5407initUP.s19
	cp a.out $(OBJDIR)/5407initUP.elf
	@ $(RM) a.out 

ram: ${OBJDIR} $(OBJS)
	@ echo
	@ echo
	@ echo Linking for placement in RAM
	@ echo
	@ rm -f $(OBJDIR)/5407initRAM.dld
	@ for filename in $(OBJS);  \
	do echo $${filename} >> $(OBJDIR)/5407initRAM.dld;   \
	done
	@ cat ram.dld >> $(OBJDIR)/5407initRAM.dld
	$(LD) $(OBJDIR)/5407initRAM.dld -lc > $(OBJDIR)/5407initRAM.map
	$(DD) -Rv a.out -o $(OBJDIR)/5407initRAM.s19
	cp a.out $(OBJDIR)/5407initRAM.elf
	@ $(RM) a.out 

clean:
	rm -f -r $(OBJDIR)

#####################################################################
$(OBJDIR):
	mkdir $(OBJDIR)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?