📄 makefile
字号:
########################################################################
#
# Project: Standard compile 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) 2003 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
# CAMAS, WA
########################################################################
EXECNAME =example
# common includes and library paths
include $(SHARPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
EXAMPLE_COMMON = ../common
LDSCRIPT = $(EXAMPLE_COMMON)/$(TOOL)_ldscript$(LEXT)
MEXT =.map
MAPFILE =$(EXECNAME)
# Each toolset requires different options to build
# Executable code is entered via _runtime and is linked at the addresses
# specified in the linker script file if the GHS toolset is used.
ifeq ($(TOOL), ghs)
OBJS = $(EXAMPLE_COMMON)/lh79524_sdk_runtime_ghs.o
MEXT =
MAPFILE =
C_ENTRY =_runtime
CFLAGS +=-g
AFLAGS +=-g
endif
# The linker file describes the image layout and entry point
ifeq ($(TOOL), gnu)
OBJS = $(EXAMPLE_COMMON)/lh79524_sdk_runtime_gnu.o
C_ENTRY =
ENTRY =
CFLAGS +=-gdwarf-2
AFLAGS +=
endif
# Executable code is entered via _runtime and is linked at 0x200c0000
# if the ARM toolset is used. No special linkscript is needed for this
# example
ifeq ($(TOOL), arm)
OBJS = $(EXAMPLE_COMMON)/lh79524_sdk_runtime_arm.o
C_ENTRY =_runtime
C_FIRST =_runtime
FIRST = -first
CFLAGS +=-g
AFLAGS +=-g
LDSCRIPT =-ro-base 0x200c0000
endif
# Executable code is entered via _runtime and is linked at 0x200c0000
# if the ARM toolset is used. No special linkscript is needed for this
# example
ifeq ($(TOOL), iar)
OBJS = $(EXAMPLE_COMMON)/lh79524_sdk_runtime_iar.o
C_FIRST =_runtime
FIRST = -s
CFLAGS +=
AFLAGS +=
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
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)
debug: $(OBJS)
$(LD) $(OBJS) $(LK) $(LDFLAGS) $(MAP) $(MAPFILE)$(MEXT) $(LDESC) \
$(LDSCRIPT) $(ENTRY) $(C_ENTRY) $(FIRST) $(C_FIRST) -o $(EXECNAME)$(EXT)
ifeq ($(TOOL), gnu)
objcopy -O srec $(EXECNAME)$(EXT) $(EXECNAME).srec
endif
include $(SHARPMCU_SOFTWARE)/makerule/common/make.rules.build
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -