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

📄 makefile

📁 含t h r e a d x,u c o s 的b s p
💻
字号:
######################################################################## 
# 
# Project: Debugger loadable example makefile
#
# Notes:
#     This type of image is meant to be loaded and executed through a
#     debugger and will not run standalone and cannot be FLASHed into
#     the board.
#
# Description: 
#  Makefile
# 
######################################################################## 
# SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
# OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
# AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES, 
# SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
#
# SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY 
# FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A 
# SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
# FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
#
# COPYRIGHT (C) 2001 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
#     CAMAS, WA
########################################################################

EXECNAME    =example

########################################################################
#
# Pick up the default build rules 
#
########################################################################

include $(SHARPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)

########################################################################
#
# Pick up the assembler and C source files in the directory  
#
########################################################################

ifeq ($(TOOL), gnu)
ASM_EXT      =asm
endif

ifeq ($(TOOL), arm)
ASM_EXT      =s
endif

ifeq ($(TOOL), ghs)
ASM_EXT      =as
endif

ifeq ($(TOOL), iar)
ASM_EXT      =s79
endif

########################################################################
#
# Pick up all *.c files and include them in the build
#
########################################################################

OBJS         = $(SRC:%.c=%.o) $(ASM:%.$(ASM_EXT)=%.o)

########################################################################
#
# GNU compiler/linker specific stuff
#
########################################################################

ifeq ($(TOOL), gnu)
MEXT        =.map
MAPFILE     =$(EXECNAME)
C_ENTRY     =
ENTRY       =
C_ENTRYLOLO =
ENTRYLOLO   =
CFLAGS      +=-gdwarf-2
LDSCRIPT    =../linker/ldscript_ram_$(TOOL).ld
ADDOBJS     += ../common/crt0_gnu.o
ADDOBJSLOLO += ../common/crt0_gnu_lolo.o
endif

########################################################################
#
# Arm compiler/linker specific stuff
#
# ARM examples enter via __main and are linked at address 0x8000
#
########################################################################

ifeq ($(TOOL), arm)
MEXT        =.map
MAPFILE     =$(EXECNAME)
C_ENTRY     =
ENTRY       =
C_ENTRYLOLO =__start
ENTRYLOLO   =-e
CFLAGS      +=-g
AFLAGS      +=-g
LDESC       = -ro-base
LDSCRIPT    = 0xC00C0000
ADDOBJS     =
ADDOBJSLOLO += ../common/crt0_arm_lolo.o
endif

########################################################################
#
# GHS compiler/linker specific stuff
#
########################################################################

ifeq ($(TOOL), ghs)
MEXT        =
MAPFILE     =
ENTRYLOLO   =$(ENTRY)
C_ENTRY     =_start
C_ENTRYLOLO =_start
CFLAGS      +=-g
AFLAGS      +=-g
LDSCRIPT    =../linker/ldscript_ram_$(TOOL).ld
ADDOBJS     += $(GHS_LIBS)/crt0.o
ADDOBJSLOLO += ../common/crt0_ghs_lolo.o
endif

########################################################################
#
# IAR compiler/linker specific stuff
#
########################################################################

ifeq ($(TOOL), iar)
MEXT        =.map
MAPFILE     =$(EXECNAME)
C_ENTRY     = _start
ENTRY       = -s
C_ENTRYLOLO = _start
ENTRYLOLO   = -s
CFLAGS      +=
AFLAGS      +=
LDESC       = -f
LDSCRIPT    = ../../examples/linker/ldscript_ram_$(TOOL).ld
ADDOBJS     += ../../examples/common/crt0_iar.o
ADDOBJSLOLO += ../../examples/common/crt0_iar_lolo.o
endif

########################################################################
#
# Rules to build the executable 
#
########################################################################

default: $(OBJS) $(ADDOBJS)
	$(LD) $(OBJS) $(ADDOBJS) $(LDFLAGS) $(LK) $(SCAN) $(MAP) \
	$(MAPFILE)$(MEXT) $(LDESC) $(LDSCRIPT) $(ENTRY) $(C_ENTRY) \
	-o $(EXECNAME)$(EXT)

lolo: $(OBJS) $(ADDOBJSLOLO)
	$(LD) $(OBJS) $(ADDOBJSLOLO) $(LDFLAGS) $(LK) $(SCAN) $(MAP) \
	$(MAPFILE)$(MEXT) $(LDESC) $(LDSCRIPT) $(ENTRYLOLO) \
	$(C_ENTRYLOLO) -o $(EXECNAME)$(EXT)
	$(ELFSTRIP) $(EXECNAME)$(EXT) $(EXECNAME).lolo$(EXT)

ifeq ($(TOOL), arm)
	$(ELFTOREC) $(EXECNAME)$(EXT) -o $(EXECNAME).lolo$(REC)
endif

ifeq ($(TOOL), ghs)
	$(ELFTOREC) $(EXECNAME)$(EXT) -o $(EXECNAME).lolo$(REC)
endif

ifeq ($(TOOL), gnu)
	$(ELFTOREC) $(EXECNAME)$(EXT) $(EXECNAME).lolo$(REC)
endif

ifeq ($(TOOL), iar)
	$(ELFTOREC) $(EXECNAME)$(EXT) $(EXECNAME).lolo$(REC)
endif

########################################################################
#
# Pick up the compiler and assembler rules
#
########################################################################

include $(SHARPMCU_SOFTWARE)/makerule/common/make.rules.build

⌨️ 快捷键说明

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