2014-10 u-boot 顶层config.mk分析
15 PLATFORM_RELFLAGS :=
16 PLATFORM_CPPFLAGS :=
17 PLATFORM_LDFLAGS :=
18 LDFLAGS :=
19 LDFLAGS_FINAL :=
20 OBJCOPYFLAGS :=
21 #########################################################################
22
23 ARCH := $(CONFIG_SYS_ARCH:"%"=%)
24 CPU := $(CONFIG_SYS_CPU:"%"=%)
25 BOARD := $(CONFIG_SYS_BOARD:"%"=%)
26 ifneq ($(CONFIG_SYS_VENDOR),)
27 VENDOR := $(CONFIG_SYS_VENDOR:"%"=%)
28 endif
29 ifneq ($(CONFIG_SYS_SOC),)
30 SOC := $(CONFIG_SYS_SOC:"%"=%)
31 endif
32
33 # Some architecture config.mk files need to know what CPUDIR is set to,
34 # so calculate CPUDIR before including ARCH/SOC/CPU config.mk files.
35 # Check if arch/$ARCH/cpu/$CPU exists, otherwise assume arch/$ARCH/cpu contains
36 # CPU-specific code.
37 CPUDIR=arch/$(ARCH)/cpu$(if $(CPU),/$(CPU),)
38
39 sinclude$(srctree)/arch/$(ARCH)/config.mk # include architecture dependend rules
40 sinclude$(srctree)/$(CPUDIR)/config.mk # include CPU specific rules
41
42 ifdef SOC
43 sinclude$(srctree)/$(CPUDIR)/$(SOC)/config.mk # include SoC specific rules
44 endif
45 ifneq ($(BOARD),)
46 ifdef VENDOR
47 BOARDDIR = $(VENDOR)/$(BOARD)
48 else
49 BOARDDIR = $(BOARD)
50 endif
51 endif
52 ifdef BOARD
53 sinclude$(srctree)/board/$(BOARDDIR)/config.mk # include board specific rules
54 endif
55
56 ifdef FTRACE
57 PLATFORM_CPPFLAGS += -finstrument-functions -DFTRACE
58 endif
59
60 #########################################################################
61
62 RELFLAGS := $(PLATFORM_RELFLAGS)
63
64 OBJCOPYFLAGS += --gap-fill=0xff
65
66 PLATFORM_CPPFLAGS += $(RELFLAGS)
67 PLATFORM_CPPFLAGS += -pipe
68
69 LDFLAGS += $(PLATFORM_LDFLAGS)
70 LDFLAGS_FINAL += -Bstatic
71
72 export PLATFORM_CPPFLAGS
73 export RELFLAGS
74 export LDFLAGS_FINAL
75 export CONFIG_STANDALONE_LOAD_ADDR
include$(srctree)/config.mk
ifneq ($(CONFIG_SYS_VENDOR),)
VENDOR := $(CONFIG_SYS_VENDOR:"%"=%)
endif
ifneq ($(CONFIG_SYS_SOC),)
SOC := $(CONFIG_SYS_SOC:"%"=%)
endif
sinclude$(srctree)/arch/$(ARCH)/config.mk # include architecture dependend rules
sinclude$(srctree)/$(CPUDIR)/config.mk # include CPU specific rules
sinclude$(srctree)/arch/arm/config.mk # include architecture dependend rules
sinclude$(srctree)/arch/arm/cpu/armv7/config.mk # include CPU specific rules
42 ifdef SOC
43 sinclude$(srctree)/$(CPUDIR)/$(SOC)/config.mk # include SoC specific rules
44 endif
43 sinclude$(srctree)/arch/arm/cpu/armv7/exynos/config.mk # include SoC specific rules
45 ifneq ($(BOARD),)
46 ifdef VENDOR
47 BOARDDIR = $(VENDOR)/$(BOARD)
48 else
49 BOARDDIR = $(BOARD)
50 endif
51 endif
47 BOARDDIR = samsung/trats
52 ifdef BOARD
53 sinclude$(srctree)/board/$(BOARDDIR)/config.mk # include board specific rules
54 endif
53 sinclude$(srctree)/board/samsung/trats/config.mk # include board specific rules
sinclude$(srctree)/arch/arm/config.mk # include architecture dependend rules
sinclude$(srctree)/arch/arm/cpu/armv7/config.mk # include CPU specific rules
sinclude$(srctree)/arch/arm/cpu/armv7/exynos/config.mk # include SoC specific rules
BOARDDIR = samsung/trats
sinclude$(srctree)/board/samsung/trats/config.mk # include board specific rules
2014-10 u-boot 顶层config.mk分析的更多相关文章
- uboot顶层config.mk分析
uboot顶层目录中的config.mk定义了确定了当前执行makefile所对应的源文件目录.目标文件目录,编译的程序编译.连接的选项,以及目标文件生成的规则等等.它被包含在顶层的makefile以 ...
- u-boot顶层目录config.mk分析
1. 设置obj与src ifneq ($(OBJTREE),$(SRCTREE)) ifeq ($(CURDIR),$(SRCTREE)) dir := else dir := $(subst $( ...
- uboot总结:uboot配置和启动过程3(config.mk分析)
说明:文件位置:在uboot的目录下,文件名为:config.mk.是一个makefile文件,以后会被主Makefile调用. 它的主要作用的是: (1)具体的设置交叉编译工具链接(主Makefil ...
- U-Boot Makefile分析(2) config.mk分析
浏览一下U-Boot各个子目录下的Makefile可以看到,几乎他们都会包含$(TOPDIR)/config.mk,那么这个文件进行了什么操作呢?简单概括:读入include/config.mk.in ...
- U-Boot Makefile分析(3) rules.mk分析
浏览各个子Makefile可以发现,他们都会在文件的后面包含rules.mk,这个文件的作用就是更新源文件的依赖,并生成各种.depend文件. _depend: $(obj).depend # Sp ...
- uboot 顶层makefile细节分析
uboot的源文件众多,学习庞然大物首先找到脊椎--顶层的makfile,逐一破解.但是,uboot的makefile同样是一个庞然大物,所以也要找到它的主线.倘若过分专注部分细节,很难做到把握全局, ...
- Linux - Eclipse CDT + GCC 安装(2014.10.2)
Eclipse CDT + GCC 安装 (2014.10.2) 本文地址:http://blog.csdn.net/caroline_wendy 1. 安装Eclipse,在官方站点下载Eclips ...
- Spring Boot 实战与原理分析视频课程
Spring Boot 实战与原理分析视频课程 链接:https://pan.baidu.com/share/init?surl=PeykcoeqZtd1d9lN9V_F-A 提取码: 关注公众号[G ...
- spring boot启动原理步骤分析
spring boot最重要的三个文件:1.启动类 2.pom.xml 3.application.yml配置文件 一.启动类->main方法 spring boot启动原理步骤分析 1.spr ...
随机推荐
- mybatis0212 mybatis逆向工程 (MyBatis Generator)
1mybatis逆向工程 (MyBatis Generator) .1什么是mybatis的逆向工程 mybatis官方为了提高开发效率,提高自动对单表生成sql,包括生成 :mapper.xml.m ...
- mysql 日期函数格式
mysql中的from_unixtime函数的format表达式字段描述: %M 月名字(January……December) %W 星期名字(Sunday……Saturday) %D 有英语前缀的 ...
- C#_在.net中序列化读写xml方法的总结
阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...
- (转)ReSharper 配置及用法
1:安装后,Resharper会用他自己的英文智能提示,替换掉 vs2010的智能提示,所以我们要换回到vs2010的智能提示 2:快捷键.是使用vs2010的快捷键还是使用 Resharper的快捷 ...
- Http Statis 500 -错误笔记
HTTP Status 500 - type Exception report message description The server encountered an internal error ...
- IIS错误500.21
操作系统:win7,有.net2.0,.net4.0 网站4.5, 错误原因:IIS未注册4.0框架. 解决办法: %windir%\Microsoft.NET\Framework\v4.0.3031 ...
- oracle--number
1. oracle的number类型是oracle的内置类型之一,是oracle的最基础数值数据类型.在9iR2及其以前的版本中只支持一种适合存储数值数据的固有数据类型,在10g以后,才出现了两种新的 ...
- Linux基本命令之逻辑测试一
1.判断一个命令的结果使用test,其返回0,或一个整数.返回0表示true,返回整数表示错误码 2.获取上一个命令的返回结果使用$? 3.例如 我的服务器上面存在/home/www这样一个文件夹,所 ...
- 【Irrlicht鬼火引擎】掌握引擎使用流程,入门程序HelloWorld
分析 一.简述使用步骤 一般而言,对于一个简单的程序,Irrlicht引擎的一般使用步骤如下: 预处理:(1)包含 <irrlicht.h> 头文件#include <irrlich ...
- [改善Java代码]不要覆写静态方法
建议33: 不要覆写静态方法 我们知道在Java中可以通过覆写(Override)来增强或减弱父类的方法和行为,但覆写是针对非静态方法(也叫做实例方法,只有生成实例才能调用的方法)的,不能针对静态方法 ...