📄 bt_6000.mak
字号:
#-------------------------------------------------------------------------------
# Target file name and type definitions
#-------------------------------------------------------------------------------
TARGET = bt_6000# # Target name for output files
TARGETDIR = bt_6000# # Name for object directory
MAKEFILE = bt_6000# # Name of this make file (without extension)
TOOLFILE = ADS12.min# # Make include file that specifies tools commands
SCLFILE = bt_6000.scl# # Target scatter load file
GETDEP_SCRIPT = getdep.pl#
MDEPEND_SCRIPT = mdepend.pl#
#-------------------------------------------------------------------------------
# Target compile time symbol definitions
#-------------------------------------------------------------------------------
ARM_ASM = -D_ARM_ASM_# # ARM assembly language selection
ARM = -DT_ARM# # ARM processor target
#-------------------------------------------------------------------------------
# Compiler symbol definitions
#-------------------------------------------------------------------------------
# Default definitions
DMSS_CFLAGS = $(ARM)#
#-------------------------------------------------------------------------------
# Assembler symbol definitions
#-------------------------------------------------------------------------------
DMSS_AFLAGS = $(ARM) $(ARM_ASM) $(APCS)#
#-------------------------------------------------------------------------------
# Object groups that are specific to this target
#-------------------------------------------------------------------------------
# INSERT OBJECTS MACROS HERE
# Build the full object list for this target
#-------------------------------------------------------------------------------
# BOOT (boot code)
#-------------------------------------------------------------------------------
# This group should not be used in the combined OBJECTS list to avoid duplicate
# objs. Use BOOT_OBJS. This is used to create the BOOT_OBJS and NORAM_OBJS
# compile group
BOOT_C_OBJS = $(TARGETDIR)/boothw_6000.o \
$(TARGETDIR)/bootmem.o
#-------------------------------------------------------------------------------
# DLOAD (Downloader)
#-------------------------------------------------------------------------------
# This group should not be used in the combined OBJECTS list to avoid duplicate
# objs. Use DLOAD_OBJS. This is used to create the DLOAD_OBJS and NORAM_OBJS
# compile group
DLOAD_C_OBJS = $(TARGETDIR)/dloadarm.o \
$(TARGETDIR)/dloaduart.o \
# Compile the following code with no compiler optimization to avoid insertion of
# stack push and pop instructions in functions that are called before target
# RAM has been initialized.
# This group should not be used in the combined OBJECTS list to avoid duplicate
# objs. Use BOOT_OBJS or DLOAD_OBJS. It is a separate compile group.
NORAM_OBJS = $(BOOT_C_OBJS) \
$(DLOAD_C_OBJS)
OBJECTS = $(TARGETDIR)/bootsys.o \
$(TARGETDIR)/boothw_6000.o \
$(TARGETDIR)/bootmem.o \
$(TARGETDIR)/dloadarm.o \
$(TARGETDIR)/dloaduart.o \
$(TARGETDIR)/crc.o
#===============================================================================
# TOOL DEFINITIONS
#===============================================================================
include $(TOOLFILE)
all : tools $(TARGETDIR)/exist exe hex bin
#-------------------------------------------------------------------------------
# Tools target
#-------------------------------------------------------------------------------
# The tool versions are listed.
tools :
@echo ------------------------------------------------------------------
@echo $(ARM_VERSION_BANNER)
@$(ARMCC) $(VER_FLAG)
@$(CC) $(VER_FLAG)
@$(ASM) $(VER_FLAG)
@echo ------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Object directory target
#-------------------------------------------------------------------------------
# The object subdirectoy is created if it does not already exist.
$(TARGETDIR)/exist :
@if test ! -f $(TARGETDIR)/exist; then mkdir $(TARGETDIR); fi
@echo Building $(TARGETDIR) > $(TARGETDIR)/exist
#-------------------------------------------------------------------------------
# Image file target
#-------------------------------------------------------------------------------
# The target image file is produced by the linker in the selected image format,
# and then a hex file is created from the target image file.
OBJECT_LISTFILE = ~tmpobj.bak
# Image file
exe : $(TARGET).$(EXETYPE)
$(TARGET).$(EXETYPE) : $(TARGETDIR)\exist sources $(OBJECTS)
@echo ---------------------------------------------------------------
@echo TARGET $@
@if test -f $(OBJECT_LISTFILE); then rm -f $(OBJECT_LISTFILE); fi
@perl redirect.pl $(OBJECT_LISTFILE) $(OBJECTS)
$(LD) -$(EXETYPE) $(LFLAGS) $(OBJ_CMD) $@ -VIA $(OBJECT_LISTFILE)
# Hex file
hex : $(TARGET).hex
$(TARGET).hex: $(TARGET).$(EXETYPE)
@echo
@echo TARGETDIR $(TARGETDIR).hex
$(HEXCMD)
@echo ---------------------------------------------------------------
# Binary file
bin: $(TARGET).bin
$(TARGET).bin: $(TARGET).$(EXETYPE)
@echo
@echo TARGETDIR $(TARGETDIR).bin
$(BINCMD)
@echo ---------------------------------------------------------------
#-------------------------------------------------------------------------------
# Clean target
#-------------------------------------------------------------------------------
# The object subdirectory, target image file, and target hex file are deleted.
clean : $(ZIF_PMIC_LIBS:_targ=_clean)
@echo ---------------------------------------------------------------
@echo CLEAN
-if test -d $(TARGETDIR); then rm -rf $(TARGETDIR); fi
-if test -f $(TARGET).$(EXETYPE); then rm -f $(TARGET).$(EXETYPE); fi
-if test -f $(TARGET).hex; then rm -f $(TARGET).hex; fi
-if test -f *._C; then rm -f *._C; fi
@echo ---------------------------------------------------------------
$(ZIF_PMIC_LIBS:_targ=_clean):
@echo ------------------------------------------------------------------
@echo Cleaning library: $(@:_clean=)
@if test -f $(@:_clean=).mak; then make --no-print-directory -f $(@:_clean=).mak clean TARGET=$(TARGET) TARGETDIR=$(@:_clean=)_OBJS TARGETID=$(TARGETID) CUSTFILE=$(CUSTFILE) TOOLFILE=$(TOOLFILE) TARGFILE=$($(@:_clean=)_TARGFILE); fi
@echo ------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Test target
#-------------------------------------------------------------------------------
# The flags and symbol definitions for the compiler, assembler and linker are
# listed for makefile test purposes.
test :
@echo ------------------------------------------------------------------
@echo AFLAGS : $(AFLAGS)
@echo ------------------------------------------------------------------
@echo DMSS_AFLAGS : $(DMSS_AFLAGS)
@echo ------------------------------------------------------------------
@echo CFLAGS : $(CFLAGS)
@echo ------------------------------------------------------------------
@echo DMSS_CFLAGS : $(DMSS_CFLAGS)
@echo ------------------------------------------------------------------
@echo LFLAGS : $(LFLAGS)
@echo ------------------------------------------------------------------
@echo LIBS : $(LIBS)
@echo ------------------------------------------------------------------
#===============================================================================
# DEFAULT SUFFIX RULES
#===============================================================================
# The following are the default suffix rules used to compile all objects that
# are not specifically included in one of the module specific rules defined
# in the next section.
# The following macros are used to specify the output object file, MSG_FILE
# symbol definition and input source file on the compile line in the rules
# defined below.
SRC_FILE = $(@:%.o=%.c)# Input source file specification
OBJ_FILE = $(OBJ_CMD) $(@)# Output obj file specification
SRC_CFILE= $(notdir $(SRC_FILE))# C File of src without directory
MSG_FILE = -DMSG_FILE=\"$(SRC_CFILE)\"# MSG_FILE symbol definition
#-------------------------------------------------------------------------------
# C code inference rules
#-------------------------------------------------------------------------------
# Needed for building split files that are in TARGETDIR when not starting
# the build from scratch
$(TARGETDIR)/%.o: $(TARGETDIR)/%.c
@echo -----------------------------------------------------------------
@echo OBJECT $@
$(CC) $(CFLAGS) $(DMSS_CFLAGS) $(MSG_FILE) $(OBJ_CMD) $@ $(TARGETDIR)/$*.c
@echo -----------------------------------------------------------------
$(TARGETDIR)/%.o %.o: %.c
@echo -----------------------------------------------------------------
@echo OBJECT $@
$(CC) $(CFLAGS) $(DMSS_CFLAGS) $(MSG_FILE) $(OBJ_CMD) $@ $*.c
@echo -----------------------------------------------------------------
#-------------------------------------------------------------------------------
# Assembly code inference rules
#-------------------------------------------------------------------------------
$(TARGETDIR)/%.o %.o: %.s
@echo -----------------------------------------------------------------
@echo OBJECT $@
$(CC) -E $(DMSS_AFLAGS) < $< | perl $(ASM_SCRIPT) - > $(TARGETDIR)/$*.i
$(ASM) $(AFLAGS) -list $(TARGETDIR)/$*.lst $(TARGETDIR)/$*.i $(OBJ_CMD) $@
@echo -----------------------------------------------------------------
#-------------------------------------------------------------------------------
# C++ code inference rules
#-------------------------------------------------------------------------------
$(TARGETDIR)/%.o %.o: %.cpp
@echo ------------------------------------------------------------------
@echo OBJECT $@
$(CPPC) $(CFLAGS) $(DMSS_CFLAGS) $(MSG_FILE) $(OBJ_CMD) $@ $*.cpp
@echo ------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Mixed source/assembly inference rule
#-------------------------------------------------------------------------------
%.mix: %.c
@echo -----------------------------------------------------------------
@echo OBJECT $@ CV
$(CC) -S -fs $(CFLAGS) $(DMSS_CFLAGS) -DMSG_FILE=\"$<\" $(OBJ_CMD) $@ $<
@echo -----------------------------------------------------------------
#===============================================================================
# MODULE SPECIFIC RULES
#===============================================================================
# The following module specific rules allow sets of objects to be compiled
# with compiler flags other than the defaults used in the suffix rules defined
# above. The following rules use the module specific compiler flags defined
# at the beginning of this file. New objects can be added to any of the
# following rules by modifying the corresponding list of objects.
#-------------------------------------------------------------------------------
# No RAM code
#-------------------------------------------------------------------------------
# Compile the boot code with no compiler optimization to avoid insertion of
# stack push and pop instructions in functions that are called before target
# RAM has been initialized.
$(NORAM_OBJS) : $(SRC_FILE)
@echo -----------------------------------------------------------------
@echo OBJECT $@
$(CC) $(CFLAGS0) $(DMSS_CFLAGS) $(MSG_FILE) $(OBJ_FILE) $<
@echo -----------------------------------------------------------------
#===============================================================================
# DEPENDENCIES
#===============================================================================
# The dependencies listed at the end of this makefile can be automatically
# updated by making the 'depend' target to invoke the following rules.
MAKEFILE_NAME = $(MAKEFILE).mak
MAKEFILE_BACKUP = $(MAKEFILE).bak
MAKEFILE_TMP = $(MAKEFILE).mak.tmp
.SUFFIXES: .s .o .c .dep
%.dep:%.c
$(CC) $(CFLAGS) $(DMSS_CFLAGS) -E < $< | perl $(GETDEP_SCRIPT) $(basename $@).o $< > $*.de_
@rm -f $(TARGETDIR)/$(@F).dep
mv $*.de_ $*.dep
$(TARGETDIR)/%.dep:%.c
$(CC) $(CFLAGS) $(DMSS_CFLAGS) -E < $< | perl $(GETDEP_SCRIPT) $(basename $@).o $< > $(TARGETDIR)/$*.de_
@rm -f $(TARGETDIR)/$*.dep
mv $(TARGETDIR)/$*.de_ $(TARGETDIR)/$*.dep
$(TARGETDIR)/%.dep:%.s
$(CC) $(CFLAGS) $(DMSS_AFLAGS) $(DMSS_CFLAGS) -E < $< | perl $(GETDEP_SCRIPT) $(basename $@).o $< > $(TARGETDIR)/$*.de_
@rm -f $(TARGETDIR)/$*.dep
mv $(TARGETDIR)/$*.de_ $(TARGETDIR)/$*.dep
depend: $(TARGETDIR)/exist $(OBJECTS:.o=.dep) force.frc
perl $(MDEPEND_SCRIPT) $(MAKEFILE_NAME) $(TARGETDIR) > $(MAKEFILE_TMP)
rm -f $(MAKEFILE_BACKUP)
mv $(MAKEFILE_NAME) $(MAKEFILE_BACKUP)
mv $(MAKEFILE_TMP) $(MAKEFILE_NAME)
force.frc:
sources:
#===============================================================================
# DEPENDENCIES
#===============================================================================
# ------------------------------
# DO NOT EDIT BELOW THIS LINE
bt_6000/boothw_6000.o: boothw_6000.c
bt_6000/boothw_6000.o: boothwi_6000.h
bt_6000/boothw_6000.o: msm6000bits.h
bt_6000/boothw_6000.o: msm6000redefs.h
bt_6000/boothw_6000.o: msm6000reg.h
bt_6000/bootmem.o: bootmem.c
bt_6000/bootmem.o: armasm.h
bt_6000/bootmem.o: msm6000reg.h
bt_6000/bootsys.o: bootsys.s
bt_6000/bootsys.o: armasm.h
bt_6000/bootsys.o: comdef.h
bt_6000/bootsys.o: msm6000reg.h
bt_6000/crc.o: crc.c
bt_6000/crc.o: comdef.h
bt_6000/crc.o: crc.h
bt_6000/dloadarm.o: dloadarm.c
bt_6000/dloadarm.o: clkrgm_6000.h
bt_6000/dloadarm.o: comdef.h
bt_6000/dloadarm.o: dloadarm.h
bt_6000/dloadarm.o: dloaduart.h
bt_6000/dloadarm.o: msm6000bits.h
bt_6000/dloadarm.o: msm6000redefs.h
bt_6000/dloadarm.o: msm6000reg.h
bt_6000/dloaduart.o: dloaduart.c
bt_6000/dloaduart.o: clkrgm_6000.h
bt_6000/dloaduart.o: comdef.h
bt_6000/dloaduart.o: dloaduart.h
bt_6000/dloaduart.o: msm6000bits.h
bt_6000/dloaduart.o: msm6000redefs.h
bt_6000/dloaduart.o: msm6000reg.h
# End of auto generated dependencies.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -