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

📄 makefile

📁 完整的Bell实验室的嵌入式文件系统TFS
💻
字号:
###############################################################################
#
# Makefile for building a monitor for the ARM
#
COMMON		= ../../../common/monitor
COMCPU		= ../../../common/cpu
FLASH		= 28f128x2
FLASHDIR	= ../../../common/flash/$(FLASH)
ZLIB		= ../../../common/zlib

# Toolchain
TARGET		= arm-coff
include		$(COMMON)/tools.make

CPP		= 	$(CC) -E
CPP_AS		= $(CC) -D__ASSEMBLY__ -E
CFLAGS		= -c \
			-Wall -Wno-format \
			-mcpu=strongarm \
			-msoft-float \
			-nostdinc -fno-builtin \
			--pack-struct \
			-DCPU=SA1110 \
			-DNO_PIC \
			-DIAN_EXTENSIONS \
			-g \
			-I. -I$(COMMON) -I$(FLASHDIR) \
			-o $@
DATE		= `date`
ASFLAGS		= -gstabs -o $@

AOUT		= monarm
LIBDIR		=
LIBS		= libz.a $(LIBGCC)

OBJS = 	obj/reset.o \
	obj/cpuio.o obj/start.o obj/chario.o obj/except.o \
	obj/vectors.o obj/cache.o obj/moncom.o obj/flash.o \
	obj/mprintf.o obj/docmd.o obj/at.o obj/cmdtbl.o obj/genlib.o \
	obj/crypt.o obj/dis_arm.o obj/dis_arm_instr.o obj/dld.o obj/env.o \
	obj/edit.o obj/symtbl.o \
	obj/flashdev.o obj/fpga.o obj/flashpic.orel obj/go.o obj/memcmds.o \
	obj/mstat.o obj/regs.o obj/step.o obj/tfs.o obj/unpack.o \
	obj/pio_arm.o \
	obj/tfsapi.o obj/tfslog.o obj/tfscli.o obj/tfsloader.o obj/tfsclean.o \
	obj/sbrk.o obj/malloc.o obj/ian_xmodem.o obj/ethernet.o \
	obj/etherdev.o \
	obj/tftp.o obj/tcpstuff.o obj/if.o obj/arp.o obj/icmp.o \
	obj/lineedit.o \
	obj/password.o obj/misc.o obj/misccmds.o obj/dhcp_00.o \
	obj/dhcpboot.o obj/cast.o \
	obj/main.o

DROPPED_OBJS = obj/ee.o \
	obj/idev.o obj/devices.o obj/devtbl.o \


ZOBJS =	obj/adler32.o obj/zcrc32.o obj/gzio.o obj/uncompr.o \
	obj/trees.o obj/zutil.o obj/inflate.o obj/infblock.o \
	obj/inftrees.o obj/infcodes.o obj/infutil.o obj/inffast.o

###############################################################################
#
# Top level target: all
#
all: info libz.a $(OBJS) obj/monlib.o makefile
	$(LD) -Map $(AOUT).map -e coldstart -o $(AOUT) -T $(AOUT).lnk \
		$(OBJS) $(LIBS)
	$(OBJDUMP) --headers $(AOUT)
	$(OBJCOPY) -O binary $(AOUT) $(AOUT).bin
	$(OBJCOPY) -O srec $(AOUT) $(AOUT).srec
	$(NM) --numeric-sort $(AOUT) > $(AOUT).sym
	ls -l $(AOUT).bin $(AOUT).srec $(AOUT).sym

libz.a:	$(ZOBJS)
	$(AR) rc libz.a $(ZOBJS)

info:
	echo "#define BUILDTIME \"`date +%H:%M:%S`\"" >info.h
	echo "#define BUILDDATE \"`date +%Y/%m/%d`\"" >>info.h

retag:
	rm -f TAGS
	rm -f tags
	etags -a *.[csSh]
	etags -a $(COMMON)/*.[csSh]
	etags -a $(COMCPU)/*arm*.[csSh]
	etags -a $(FLASHDIR)/*.[csSh]
	etags -a $(ZLIB)/*.[csSh]
	gctags -w -o tags -a *.[csSh] 
	gctags -w -o tags -a $(COMMON)/*.[csSh]
	gctags -w -o tags -a $(COMCPU)/*arm*.[csSh]
	gctags -w -o tags -a $(FLASHDIR)/*.[csSh]
	gctags -w -o tags -a $(ZLIB)/*.[csSh]

###############################################################################
#
# Individual objects:
#
include $(COMMON)/common.make
include $(ZLIB)/zlib.make

obj/cpuio.o:	cpuio.c cpu.h cpuio.h config.h
	$(CC) $(CFLAGS) cpuio.c

obj/dis_arm.o:	config.h $(COMCPU)/dis_arm.c \
	$(COMCPU)/dis_arm_instr.h
	$(CC) $(CFLAGS) $(COMCPU)/dis_arm.c

obj/dis_arm_instr.o: config.h $(COMCPU)/dis_arm_instr.c \
	$(COMCPU)/dis_arm_instr.h $(COMCPU)/dis_arm_opcodes.h 
	$(CC) $(CFLAGS) $(COMCPU)/dis_arm_instr.c

obj/etherdev.o:	etherdev.c cpuio.h 8390.h $(COMMON)/ether.h $(COMMON)/stddefs.h $(COMMON)/genlib.h
	$(CC) $(CFLAGS) -O2 etherdev.c

obj/except.o:	except.c cpu.h config.h
	$(CC) $(CFLAGS) except.c

obj/flashdev.o:	$(COMMON)/flash.h \
	$(FLASHDIR)/flashdev.c $(FLASHDIR)/flashdev.h \
	config.h
	$(CC) $(CFLAGS) $(FLASHDIR)/flashdev.c

obj/flashpic.orel: $(FLASHDIR)/flashpic.c \
	$(COMMON)/flash.h \
	$(FLASHDIR)/flashdev.h config.h
	$(CC) $(CFLAGS) $(FLASHDIR)/flashpic.c

obj/fpga.o: $(COMMON)/fpga.c \
	$(COMMON)/fpga.h
	$(CC) $(CFLAGS) $(COMMON)/fpga.c

#obj/flashpic16.o:	$(FLASHDIR)/flashpic16.c $(FLASHDIR)/flash16.h \
#	$(COMMON)/flash.h $(FLASHDIR)/flashdev.h config.h
#	$(CC) $(CFLAGS) $(FLASHDIR)/flashpic16.c

#obj/initslot.o:	initslot.c
#	$(CC) $(CFLAGS) initslot.c

obj/main.o:	main.c info.h cpu.h monapp.h config.h
	$(CC) $(CFLAGS) main.c

obj/mystart.o:	mystart.c 
	$(CC) $(CFLAGS) mystart.c

obj/pio_arm.o:	$(COMCPU)/pio_arm.c cpu.h cpuio.h config.h
	$(CC) $(CFLAGS) $(COMCPU)/pio_arm.c

obj/regs.o:	regs.c cpu.h config.h
	$(CC) $(CFLAGS) regs.c

obj/mstat.o:	mstat.c cpu.h config.h
	$(CC) $(CFLAGS) mstat.c

obj/step.o:	step.c cpu.h config.h
	$(CC) $(CFLAGS) step.c


#obj/devtbl.o:	devtbl.c devtbl.h $(COMMON)/devices.h config.h
#	$(CC) $(CFLAGS) devtbl.c


obj/reset.o:	reset.s cpuio.h
	$(CPP_AS) -x assembler-with-cpp reset.s > tmpreset.s
	$(ASM) $(ASFLAGS) tmpreset.s
	rm tmpreset.s

obj/vectors.o:	vectors.s
	$(CPP_AS) -x assembler-with-cpp vectors.s >tmpvectors.s
	$(ASM) $(ASFLAGS) tmpvectors.s
	rm tmpvectors.s

###############################################################################
#
# Miscellaneous utilities:
#
myclean:
	rm -f *~
	rm -f \#*\#
	rm -f core
	rm -f $(AOUT)
	rm -f $(AOUT).srec $(AOUT).bin $(AOUT).sym
	rm -f libz.a
	rm -f info.h
	rm -f TAGS
	rm -f tags

clobber1:

⌨️ 快捷键说明

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