3879|2

88

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求助makefile 中的include 引用变量,之前并没有定义,怎么回事啊? [复制链接]

makefile include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)后面两个变量引用是什么意思?
附:所有的makefile文件内容
我是初学makefile
麻烦哪位能否帮我把下面这段解释一下?
ifeq ($(TOOL), keil)
MEXT        =.map
MAPFILE     =$(EXECNAME)
C_ENTRY     =
ENTRY       =
CFLAGS      +=-g
AFLAGS      +=-g
LDSCRIPT    =linker/ldscript_rom_rvw.ld
endif

########################################################################
# $Id:: makefile 1031 2008-08-06 22:28:49Z wellsk                      $
#
# Project: Bootable/FLASHable example makefile
#
# Description:
#  Makefile
#
########################################################################
# Software that is described herein is for illustrative purposes only  
# which provides customers with programming information regarding the  
# products. This software is supplied "AS IS" without any warranties.  
# NXP Semiconductors assumes no responsibility or liability for the
# use of the software, conveys no license or title under any patent,
# copyright, or mask work right to the product. NXP Semiconductors
# reserves the right to make changes in the software without
# notification. NXP Semiconductors also make no representation or
# warranty that such application will be suitable for the specified
# use without further testing or modification.
########################################################################

EXECNAME    =kickstart

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

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

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

ifeq ($(TOOL), ads)
MEXT        =.map
MAPFILE     =$(EXECNAME)
C_ENTRY     =
ENTRY       =
CFLAGS      +=-g
AFLAGS      +=-g
LDSCRIPT    =linker/ldscript_rom_$(TOOL).ld
endif

ifeq ($(TOOL), rvw)
MEXT        =.map
MAPFILE     =$(EXECNAME)
C_ENTRY     =
ENTRY       =
CFLAGS      +=-g
AFLAGS      +=-g
LDSCRIPT    =linker/ldscript_rom_$(TOOL).ld
endif

ifeq ($(TOOL), keil)
MEXT        =.map
MAPFILE     =$(EXECNAME)
C_ENTRY     =
ENTRY       =
CFLAGS      +=-g
AFLAGS      +=-g
LDSCRIPT    =linker/ldscript_rom_rvw.ld
endif

########################################################################
#
# Gcc compiler/linker specific stuff
#
########################################################################

ifeq ($(TOOL), gnu)
MEXT        =.map
MAPFILE     =$(EXECNAME)
C_ENTRY     =
ENTRY       =
CFLAGS      +=-gdwarf-2
AFLAGS      +=
LDSCRIPT    =linker/ldscript_rom_$(TOOL).ld
endif

########################################################################
#
# Pick up the assembler and C source files in the directory  
#
########################################################################
include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes

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

default: release

release:       
        @$(MAKE) TOOL=$(TOOL) debug
        @$(MAKE) TOOL=$(TOOL) bin
        @$(MAKE) TOOL=$(TOOL) hex

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

bin:
        $(ELFTOBIN) $(EXECNAME)$(EXT) $(EXECNAME).bin

hex:
ifeq ($(TOOL), ads)
        $(ELFTOREC) $(EXECNAME)$(EXT) -o $(EXECNAME).$(REC)
endif

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

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

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

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

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

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

.PHONY: default release debug bin   

最新回复

也可能来自命令行啊 比如你这样编译 make clean all NXPMCU_SOFTWARE=nxp  详情 回复 发表于 2009-4-14 15:28
点赞 关注

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
变量可以来自于shell里面的环境变量。
如果这个makefile不是顶层的makefile,他们还可能来自于其他的makefile定义。
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
也可能来自命令行啊
比如你这样编译

make clean all NXPMCU_SOFTWARE=nxp
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表