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

📄 common.make

📁 完整的Bell实验室的嵌入式文件系统TFS
💻 MAKE
字号:
###############################################################################
#
# COMMON objects:
# This file can be included in each monitor makefile that intends to use
# any of the common code.  It is built with the -M option of the GNU compiler
# and hand-modified slightly.
# 
# NOTES:
# * Add "TFSDEFRAGTEST=-D DEFRAG_TEST_ENABLED=1" to the command line to
#   include the power-safe defragmentation tests in TFS.
#
# * The -Wno-format option is used on a few of the files to supress the
#   warning that comes up because of the use of my homegrown %I option
#   to printf.
#
TFSDEFRAGTEST=


obj/arp.o: $(COMMON)/arp.c config.h $(COMMON)/endian.h $(COMMON)/genlib.h \
		$(COMMON)/ether.h $(COMMON)/stddefs.h
		$(CC) $(CFLAGS) -Wno-format $(COMMON)/arp.c

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

obj/bbc.o: $(COMMON)/bbc.c config.h $(COMMON)/genlib.h $(COMMON)/cli.h \
		$(COMMON)/bbc.h
		$(CC) $(CFLAGS) $(COMMON)/bbc.c

obj/bootblk.o: $(COMMON)/bootblk.c $(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/bootblk.c

obj/cache.o: $(COMMON)/cache.c
		$(CC) $(CFLAGS) $(COMMON)/cache.c

obj/chario.o: $(COMMON)/chario.c config.h cpuio.h $(COMMON)/genlib.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/chario.c

obj/cast.o: $(COMMON)/cast.c config.h $(COMMON)/tfs.h $(COMMON)/ctype.h \
		$(COMMON)/stddefs.h $(COMMON)/genlib.h
		$(CC) $(CFLAGS) $(COMMON)/cast.c

obj/cmdtbl.o: $(COMMON)/cmdtbl.c config.h $(COMMON)/tfs.h \
		$(COMMON)/genlib.h xcmddcl.h xcmdtbl.h
		$(CC) $(CFLAGS) $(COMMON)/cmdtbl.c

obj/crypt.o: $(COMMON)/crypt.c config.h
		$(CC) $(CFLAGS) $(COMMON)/crypt.c

obj/devices.o: $(COMMON)/devices.c devtbl.h $(COMMON)/devices.h \
		$(COMMON)/genlib.h $(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/devices.c

obj/dhcpboot.o: $(COMMON)/dhcpboot.c config.h cpuio.h $(COMMON)/ether.h \
		$(COMMON)/tfs.h $(COMMON)/genlib.h $(COMMON)/endian.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) -Wno-format $(COMMON)/dhcpboot.c

obj/dhcp_00.o: $(COMMON)/dhcp_00.c config.h cpuio.h $(COMMON)/ether.h \
		$(COMMON)/tfs.h $(COMMON)/genlib.h $(COMMON)/endian.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/dhcp_00.c

obj/dhcp_01.o: $(COMMON)/dhcp_01.c config.h cpuio.h $(COMMON)/ether.h \
		$(COMMON)/tfs.h $(COMMON)/genlib.h $(COMMON)/endian.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/dhcp_01.c

obj/dhcp_02.o: $(COMMON)/dhcp_02.c config.h cpuio.h $(COMMON)/ether.h \
		$(COMMON)/tfs.h $(COMMON)/genlib.h $(COMMON)/endian.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/dhcp_02.c

obj/dhcp_03.o: $(COMMON)/dhcp_03.c config.h cpuio.h $(COMMON)/ether.h \
		$(COMMON)/tfs.h $(COMMON)/genlib.h $(COMMON)/endian.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/dhcp_03.c

obj/dld.o: $(COMMON)/dld.c config.h $(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/dld.c

obj/docmd.o: $(COMMON)/docmd.c config.h $(COMMON)/genlib.h $(COMMON)/tfs.h
		$(CC) $(CFLAGS) $(COMMON)/docmd.c

obj/edit.o: $(COMMON)/edit.c config.h $(COMMON)/stddefs.h $(COMMON)/genlib.h \
		$(COMMON)/tfs.h $(COMMON)/ctype.h
		$(CC) $(CFLAGS) $(COMMON)/edit.c

obj/ee.o: $(COMMON)/ee.c config.h
		$(CC) $(CFLAGS) $(COMMON)/ee.c

obj/env.o: $(COMMON)/env.c config.h $(COMMON)/tfs.h $(COMMON)/ether.h \
		$(COMMON)/genlib.h $(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/env.c

obj/ethernet.o: $(COMMON)/ethernet.c config.h $(COMMON)/endian.h \
		$(COMMON)/stddefs.h $(COMMON)/genlib.h cpuio.h $(COMMON)/ether.h \
		$(COMMON)/monflags.h
		$(CC) $(CFLAGS) $(COMMON)/ethernet.c

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

obj/gdb.o: $(COMMON)/gdb.c $(COMMON)/ether.h $(COMMON)/genlib.h config.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/gdb.c

obj/genlib.o: $(COMMON)/genlib.c $(COMMON)/ctype.h $(COMMON)/genlib.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/genlib.c

obj/go.o: $(COMMON)/go.c config.h cpuio.h cpu.h $(COMMON)/genlib.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/go.c

obj/ian_xmodem.o: $(COMMON)/ian_xmodem.c config.h $(COMMON)/genlib.h \
		$(COMMON)/stddefs.h $(COMMON)/flash.h $(COMMON)/tfs.h \
		$(COMMON)/tfsprivate.h $(COMMON)/ascii.h
		$(CC) $(CFLAGS) $(COMMON)/ian_xmodem.c

obj/icmp.o: $(COMMON)/icmp.c config.h $(COMMON)/endian.h $(COMMON)/genlib.h \
		$(COMMON)/ether.h $(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/icmp.c

obj/idev.o: $(COMMON)/idev.c config.h $(COMMON)/genlib.h $(COMMON)/stddefs.h \
		$(COMMON)/devices.h
		$(CC) $(CFLAGS) $(COMMON)/idev.c

obj/if.o: $(COMMON)/if.c config.h $(COMMON)/genlib.h $(COMMON)/stddefs.h \
		$(COMMON)/tfs.h 
		$(CC) $(CFLAGS) $(COMMON)/if.c

obj/lineedit.o: $(COMMON)/lineedit.c config.h $(COMMON)/ctype.h \
		$(COMMON)/genlib.h $(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/lineedit.c

obj/malloc.o: $(COMMON)/malloc.c config.h $(COMMON)/genlib.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/malloc.c

obj/memcmds.o: $(COMMON)/memcmds.c config.h $(COMMON)/genlib.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/memcmds.c

obj/memtrace.o: $(COMMON)/memtrace.c config.h $(COMMON)/genlib.h \
		$(COMMON)/cli.h $(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/memtrace.c

obj/misc.o: $(COMMON)/misc.c config.h $(COMMON)/stddefs.h info.h \
		$(COMMON)/monflags.h $(COMMON)/genlib.h $(COMMON)/ether.h \
		$(COMMON)/tfs.h
		$(CC) $(CFLAGS) $(COMMON)/misc.c

obj/misccmds.o: $(COMMON)/misccmds.c config.h $(COMMON)/tfs.h \
		$(COMMON)/genlib.h $(COMMON)/ether.h $(COMMON)/devices.h
		$(CC) $(CFLAGS) $(COMMON)/misccmds.c

obj/moncom.o: $(COMMON)/moncom.c $(COMMON)/monlib.h
		$(CC) $(CFLAGS) $(COMMON)/moncom.c

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

obj/monprof.o: $(COMMON)/monprof.c config.h $(COMMON)/stddefs.h \
		$(COMMON)/cli.h $(COMMON)/monprof.h $(COMMON)/tfs.h
		$(CC) $(CFLAGS) $(COMMON)/monprof.c

obj/mprintf.o: $(COMMON)/mprintf.c config.h cpuio.h $(COMMON)/genlib.h \
		$(COMMON)/ctype.h $(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/mprintf.c

obj/password.o: $(COMMON)/password.c config.h $(COMMON)/genlib.h \
		$(COMMON)/ether.h $(COMMON)/tfs.h
		$(CC) $(CFLAGS) $(COMMON)/password.c

obj/redirect.o: $(COMMON)/redirect.c config.h $(COMMON)/genlib.h \
		$(COMMON)/stddefs.h $(COMMON)/ctype.h $(COMMON)/tfs.h \
		$(COMMON)/tfsprivate.h
		$(CC) $(CFLAGS) $(COMMON)/redirect.c

obj/reg_cache.o: $(COMMON)/reg_cache.c config.h cpu.h $(COMMON)/ctype.h \
		$(COMMON)/genlib.h $(COMMON)/stddefs.h regnames.c
		$(CC) $(CFLAGS) $(COMMON)/reg_cache.c

obj/sbrk.o: $(COMMON)/sbrk.c config.h
		$(CC) $(CFLAGS) $(COMMON)/sbrk.c

obj/start.o: $(COMMON)/start.c config.h cpu.h cpuio.h $(COMMON)/stddefs.h \
		$(COMMON)/genlib.h $(COMMON)/devices.h
		$(CC) $(CFLAGS) $(COMMON)/start.c

obj/symtbl.o: $(COMMON)/symtbl.c config.h $(COMMON)/stddefs.h \
		$(COMMON)/genlib.h $(COMMON)/ctype.h $(COMMON)/tfs.h
		$(CC) $(CFLAGS) $(COMMON)/symtbl.c

obj/tcpstuff.o: $(COMMON)/tcpstuff.c config.h $(COMMON)/genlib.h \
		$(COMMON)/ether.h $(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/tcpstuff.c

obj/tfsclean.o: $(COMMON)/tfsclean.c config.h cpu.h $(COMMON)/stddefs.h \
		$(COMMON)/genlib.h $(COMMON)/tfs.h $(COMMON)/flash.h \
		$(COMMON)/monflags.h  $(COMMON)/tfsprivate.h
		$(CC) $(TFSDEFRAGTEST) $(CFLAGS) $(COMMON)/tfsclean.c

obj/tfsclean1.o: $(COMMON)/tfsclean1.c config.h cpu.h $(COMMON)/stddefs.h \
		$(COMMON)/genlib.h $(COMMON)/tfs.h $(COMMON)/flash.h \
		$(COMMON)/monflags.h  $(COMMON)/tfsprivate.h
		$(CC) $(TFSDEFRAGTEST) $(CFLAGS) $(COMMON)/tfsclean1.c

obj/tfsclean2.o: $(COMMON)/tfsclean2.c config.h cpu.h $(COMMON)/stddefs.h \
		$(COMMON)/genlib.h $(COMMON)/tfs.h $(COMMON)/flash.h \
		$(COMMON)/monflags.h  $(COMMON)/tfsprivate.h
		$(CC) $(TFSDEFRAGTEST) $(CFLAGS) $(COMMON)/tfsclean2.c

obj/tfsclean3.o: $(COMMON)/tfsclean3.c config.h cpu.h $(COMMON)/stddefs.h \
		$(COMMON)/genlib.h $(COMMON)/tfs.h $(COMMON)/flash.h \
		$(COMMON)/monflags.h  $(COMMON)/tfsprivate.h
		$(CC) $(TFSDEFRAGTEST) $(CFLAGS) $(COMMON)/tfsclean3.c

obj/tfsapi.o: $(COMMON)/tfsapi.c config.h cpu.h $(COMMON)/genlib.h \
		$(COMMON)/stddefs.h $(COMMON)/tfs.h
		$(CC) $(CFLAGS) $(COMMON)/tfsapi.c

obj/tfscli.o: $(COMMON)/tfscli.c config.h $(COMMON)/genlib.h \
		$(COMMON)/stddefs.h $(COMMON)/tfs.h
		$(CC) $(CFLAGS) $(COMMON)/tfscli.c

obj/tfsloader.o: $(COMMON)/tfsloader.c config.h $(COMMON)/genlib.h \
		$(COMMON)/coff.h $(COMMON)/elf.h $(COMMON)/aout.h \
		$(COMMON)/stddefs.h $(COMMON)/tfs.h
		$(CC) $(CFLAGS) $(COMMON)/tfsloader.c

obj/tfslog.o: $(COMMON)/tfslog.c config.h $(COMMON)/genlib.h \
		$(COMMON)/stddefs.h $(COMMON)/tfs.h
		$(CC) $(CFLAGS) $(COMMON)/tfslog.c

obj/tfs.o: $(COMMON)/tfs.c config.h cpu.h $(COMMON)/stddefs.h \
		$(COMMON)/genlib.h $(COMMON)/tfs.h tfsdev.h $(COMMON)/flash.h
		$(CC) $(TFSDEFRAGTEST) $(CFLAGS) $(COMMON)/tfs.c

obj/tftp.o: $(COMMON)/tftp.c config.h $(COMMON)/endian.h $(COMMON)/genlib.h \
		cpuio.h $(COMMON)/ether.h $(COMMON)/tfs.h $(COMMON)/monflags.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/tftp.c

obj/unpack.o: $(COMMON)/unpack.c config.h $(COMMON)/genlib.h \
		$(COMMON)/stddefs.h
		$(CC) $(CFLAGS) $(COMMON)/unpack.c

obj/xmodem.o: $(COMMON)/xmodem.c config.h $(COMMON)/genlib.h \
		$(COMMON)/stddefs.h $(COMMON)/flash.h $(COMMON)/tfs.h
		$(CC) $(CFLAGS) $(COMMON)/xmodem.c


###############################################################################
#
# COMMON miscellaneous targets:
#
clean:
	rm -rf obj
	rm -rf libz.a symtbl
	mkdir obj

clobber:	clean clobber1
	rm -f cscope.out tags $(AOUT)
	rm -f $(AOUT).bin $(AOUT).srec $(AOUT).fcd $(AOUT).dis $(AOUT).sym 

tarx:
	rm -f $(AOUT).tar
	/bin/sh -c "cd $(MONBASE) ; tar -cf $(AOUT).tar common/monitor \
		common/zlib common/cpu common/flash/$(FLASH) \
		targets/$(TGTDIR)/app targets/$(TGTDIR)/monitor"
	mv $(MONBASE)/$(AOUT).tar .

tar:	clean
	rm -f cscope.out tags
	rm -f $(AOUT).srec $(AOUT).sym  $(AOUT).fcd $(AOUT).dis $(AOUT).tar
	/bin/sh -c "cd $(MONBASE) ; tar -cf $(AOUT).tar common/monitor \
		common/zlib common/cpu common/flash/$(FLASH) \
		targets/$(TGTDIR)/app targets/$(TGTDIR)/monitor"
	mv $(MONBASE)/$(AOUT).tar .

gnusrec:
	$(OBJCOPY) -F srec $(AOUT) $(AOUT).srec

bin2srec:
	bin2srec $(AOUT).bin > $(AOUT).srec

bindump:
	$(OBJDUMP) --full-contents $(AOUT) >$(AOUT).fcd

showmap:
	$(OBJDUMP) --section-headers $(AOUT)

strip:
	$(OBJCOPY) --strip-unneeded $(AOUT) $(AOUT).str

dis:
	$(OBJDUMP) --source --disassemble $(AOUT) >$(AOUT).dis

disx:
	$(OBJDUMP) --source --disassemble --show-raw-insn $(AOUT) >$(AOUT).dis

sym:
	$(NM) --numeric-sort $(AOUT) >$(AOUT).sym

symtbl: sym
	monsym -p0x $(AOUT).sym >symtbl

cscope:	cscope1
	ls ./*.[chs] $(COMMON)/*.[chs] $(FLASHDIR)/*.[chs] $(ZLIB)/*.[ch] >>cscope.files

ctags:
	rm -f tags
	ctags -L cscope.files -n

help:
	@echo "gnusrec  : use objcopy to produce $(AOUT).srec"
	@echo "bin2srec : use bin2srec to produce $(AOUT).srec"
	@echo "showmap  : display section headers"
	@echo "dis      : source/assembly dump to $(AOUT).dis"
	@echo "disx     : like dis, but show instruction in hex & symbolic"
	@echo "sym      : numerically sorted symbol table dump to $(AOUT).sym"
	@echo "symtbl   : rearrange output of sym to create monitor's symtbl file"
	@echo "bindump  : ascii-coded hex full-content dump to $(AOUT).fcd"
	@echo "cscope   : generate list of all files (cscope.files)"
	@echo "ctags    : use cscope.files as list file for tags generation"
	@echo "clean    : delete entire obj directory"
	@echo "strip    : strip output, copy to $(AOUT).str"
	@echo "tar      : create a tar file of the current source and binary."

⌨️ 快捷键说明

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