📄 makefile
字号:
########################################################################
#
# Project: Bootable/FLASHable example makefile
#
# 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 =startup
########################################################################
#
# Pick up the default build rules
#
########################################################################
include $(SHARPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
########################################################################
#
# Gcc compiler/linker specific stuff
#
########################################################################
ifeq ($(TOOL), gnu)
MEXT =.map
MAPFILE =$(EXECNAME)
C_ENTRY =
ENTRY =
CFLAGS +=-gdwarf-2 -I../../include
AFLAGS +=-I../../include
LDRAMSCRIPT =../linker/ldscript_iram_$(TOOL).ld
LDSCRIPT =../linker/ldscript_rom_$(TOOL).ld
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 =
CFLAGS +=-g -I../../include
AFLAGS +=-g -I../../include
LDRAMSCRIPT =../linker/ldscript_iram_$(TOOL).ld
LDSCRIPT =../linker/ldscript_rom_$(TOOL).ld
endif
########################################################################
#
# Ghs compiler/linker specific stuff
#
########################################################################
ifeq ($(TOOL), ghs)
MEXT =
MAPFILE =
C_ENTRY =_start
CFLAGS +=-g -I../../include
AFLAGS +=-g -I../../include
LDRAMSCRIPT =../linker/ldscript_iram_$(TOOL).ld
LDSCRIPT =../linker/ldscript_rom_$(TOOL).ld
endif
########################################################################
#
# 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
########################################################################
#
# Pick up all *.c and assembly files and include them in the build
#
########################################################################
OBJS =$(SRC:%.c=%.o) $(ASM:%.$(ASM_EXT)=%.o)
########################################################################
#
# Rules to build the executable
#
########################################################################
default: release
release: $(OBJS)
@$(MAKE) TOOL=$(TOOL) -C ../../ clean
@$(MAKE) TOOL=$(TOOL) -C ../../
@$(CP) ../../*.o .
@$(MAKE) TOOL=$(TOOL) debug
@$(MAKE) TOOL=$(TOOL) bin
test: $(OBJS)
@$(MAKE) TOOL=$(TOOL) -C ../../ clean
@$(MAKE) TOOL=$(TOOL) -C ../../
@$(CP) ../../*.o .
@$(MAKE) TOOL=$(TOOL) debugtest
@$(MAKE) TOOL=$(TOOL) bin
debug:
$(LD) *.o $(LDFLAGS) $(LK) $(SCAN) $(MAP) $(MAPFILE)$(MEXT) \
$(LDESC) $(LDSCRIPT) $(ENTRY) $(C_ENTRY) -o $(EXECNAME)$(EXT)
debugtest:
$(LD) *.o $(LDFLAGS) $(LK) $(SCAN) $(MAP) $(MAPFILE)$(MEXT) \
$(LDESC) $(LDRAMSCRIPT) $(ENTRY) $(C_ENTRY) -o $(EXECNAME)$(EXT)
bin:
$(ELFTOBIN) $(EXECNAME)$(EXT) $(EXECNAME).bin
########################################################################
#
# 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 + -