📄 makefile
字号:
###############################################################################
#
# 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 + -