⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 完整的Bell实验室的嵌入式文件系统TFS
💻
字号:
###############################################################################
#
# 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 + -