📄 makefile
字号:
###############################################################################
#
# Makefile for building a monitor for the COLDFIRE 5272 eval platform.
#
# Currently, the only target supported for COLDFIRE platform is EVAL. When
# the platform count increases to more than 1, the target name should be
# specified on the command line.
#
# NOTE: This port has only been tested running in RAM space of the
# MCF5272 eval board. It is downloaded using the DBUG command "DL" or "DN".
#
PLATFORM = CFEVAL
FLASH = 29pl160c
TGTDIR = eval5272
MONBASE = ../../..
TGTBASE = $(MONBASE)/targets/$(TGTDIR)
COMBASE = $(MONBASE)/common
COMCPU = $(COMBASE)/cpu
ZLIB = $(COMBASE)/zlib
COMMON = $(COMBASE)/monitor
FLASHDIR = $(COMBASE)/flash/$(FLASH)
INFO = info
TARGET = m68k-coff
include $(COMMON)/tools.make
CFLAGS = -Wall -D PLATFORM_$(PLATFORM)=1 -Wno-format \
-fno-builtin -msoft-float -g -c -m5200 -I. -I$(COMMON) \
-I$(COMCPU) -I$(FLASHDIR) -o $@
ASFLAGS = -m5200 -o $@
ASMCPP = cpp -D PLATFORM_$(PLATFORM)=1 -D ASSEMBLY_ONLY \
-I$(COMCPU) -I$(COMMON)
LDFLAGS = -Map=$(AOUT).map
AOUT = mon$(PLATFORM)
LIBS = libz.a $(LIBGCC)
OBJS=obj/reset.o obj/start.o obj/cpuio.o obj/chario.o obj/mprintf.o \
obj/main.o obj/mstat.o obj/sbrk.o obj/malloc.o obj/docmd.o obj/cmdtbl.o \
obj/go.o obj/env.o obj/memcmds.o obj/xmodem.o obj/flash.o obj/except.o \
obj/flashpic.o obj/flashdev.o obj/ethernet.o obj/reg_cache.o obj/vectors.o \
obj/tfs.o obj/if.o obj/misccmds.o obj/genlib.o obj/edit.o obj/lineedit.o \
obj/tfsapi.o obj/tfsclean1.o obj/tfscli.o obj/tfslog.o obj/symtbl.o \
obj/tfsloader.o obj/redirect.o obj/monprof.o obj/bbc.o obj/etherdev.o \
obj/icmp.o obj/arp.o obj/nbuf.o obj/memtrace.o \
obj/dhcpboot.o obj/dhcp_00.o obj/tftp.o obj/tcpstuff.o \
obj/crypt.o obj/password.o obj/moncom.o obj/cache.o obj/misc.o obj/dis_cf.o
include $(ZLIB)/zlib.objlist
top: ram
###############################################################################
#
# rom:
# Standard monitor build, destined for installation using newmon tool.
#
# * coff -m dumps a memory map of the newly built COFF file.
# * coff -B builds a binary file stripped of all of the COFF formatting.
# * NM simply generates a symbol table file
# * bin2srec converts the binary created by coff -B to an S-Record format
# suitable for download using the "dl" command of the MCF5272C eval board.
#
rom: $(INFO) $(OBJS) libz.a obj/monlib.o makefile
$(LD) $(LDFLAGS) -TROM.lnk -nostartfiles -e coldstart -o $(AOUT) $(OBJS) $(LIBS)
rm -f tags
ctags -n -L cscope.files
coff -m $(AOUT)
coff -B $(AOUT).bin $(AOUT)
ls -l $(AOUT).bin
$(NM) --numeric-sort $(AOUT) > $(AOUT).sym
bin2srec -b 0xe0000 $(AOUT).bin >$(AOUT).srec
###############################################################################
#
# ram:
# Version of monitor for download into RAM.
# This builds a RAM version of the monitor for download through the
# DBUG> monitor which is shipped with the evaluation board. This allows
# us to test our code by downloading it to ram prior to burning it into
# flash.
# See notes on "all:" target above for more details.
#
ram: $(INFO) $(OBJS) libz.a obj/monlib.o makefile
$(LD) $(LDFLAGS) -TRAM.lnk -nostartfiles -e coldstart -o $(AOUT) $(OBJS) $(LIBS)
rm -f tags
ctags -n -L cscope.files
coff -m $(AOUT)
coff -B $(AOUT).bin $(AOUT)
ls -l $(AOUT).bin
$(NM) --numeric-sort $(AOUT) > $(AOUT).sym
bin2srec -b 0x80000 $(AOUT).bin >$(AOUT).srec
libz.a: $(ZOBJS)
m68k-coff-ar rc libz.a $(ZOBJS)
info:
@mkdir -p obj
defdate -f %H:%M:%S BUILDTIME >info.h
defdate -f %m/%d/%Y BUILDDATE >>info.h
###############################################################################
#
# Individual rules:
#
include $(COMMON)/common.make
include $(ZLIB)/zlib.make
obj/cpuio.o: cpuio.c config.h cpuio.h $(COMMON)/genlib.h \
$(COMMON)/ether.h $(COMMON)/stddefs.h \
$(COMMON)/devices.h
$(CC) $(CFLAGS) cpuio.c
obj/except.o: except.c config.h
$(CC) $(CFLAGS) except.c
obj/dcache.o: dcache.c config.h
$(CC) $(CFLAGS) dcache.c
obj/etherdev.o: etherdev.c config.h mcf5272.h cpuio.h nif.h fec.h
$(CC) $(CFLAGS) etherdev.c
obj/dis_cf.o: $(COMCPU)/dis_cf.c $(COMMON)/genlib.h config.h
$(CC) $(CFLAGS) $(COMCPU)/dis_cf.c
obj/flashdev.o: $(FLASHDIR)/flashdev.c config.h $(COMMON)/stddefs.h \
$(FLASHDIR)/flashdev.h $(COMMON)/flash.h cpu.h
$(CC) $(CFLAGS) $(FLASHDIR)/flashdev.c
obj/flashpic.o: $(FLASHDIR)/flashpic.c config.h $(COMMON)/stddefs.h \
$(FLASHDIR)/flashdev.h $(COMMON)/flash.h cpu.h
$(CC) $(CFLAGS) $(FLASHDIR)/flashpic.c
obj/nbuf.o: nbuf.c nbuf.h config.h
$(CC) $(CFLAGS) nbuf.c
obj/main.o: main.c config.h cpu.h $(COMMON)/tfs.h \
$(COMMON)/genlib.h $(COMMON)/ether.h \
$(COMMON)/monflags.h $(COMMON)/stddefs.h
$(CC) $(CFLAGS) main.c
obj/regs.o: regs.c config.h cpu.h $(COMMON)/ctype.h \
$(COMMON)/genlib.h
$(CC) $(CFLAGS) regs.c
obj/mstat.o: mstat.c config.h cpu.h cpuio.h $(COMMON)/genlib.h
$(CC) $(CFLAGS) mstat.c
obj/step.o: step.c cpu.h config.h
$(CC) $(CFLAGS) step.c
obj/reset.o: reset.s config.h
$(ASMCPP) reset.s >tmp.s
$(ASM) $(ASFLAGS) tmp.s
rm tmp.s
obj/vectors.o: vectors.s config.h
$(ASMCPP) vectors.s >tmp.s
$(ASM) $(ASFLAGS) tmp.s
rm tmp.s
###############################################################################
#
# Miscellaneous utilities:
# (generic utilities are in $(COMMON)/common.make)
#
clobber1:
rm -f $(AOUT).map
cscope1:
ls $(COMCPU)/*cf* >cscope.files
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -