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 ...
随机推荐
- Proteus仿真_01、 8086 IO译码仿真
最近在学习一些微机原理与接口技术方面的知识. 参考书籍<微机原理与接口技术---基于8086Proteus仿真> 顾晖 梁惺彦 编著 实验一.利用8086 芯片来实现对I/O设备的读取和控 ...
- fedora 20 注销
当系统只有一个用户和只有一个桌面环境时,Fedora 20将不会显示Log Out菜单. 如果你确实需要logout,可以通过执行gnome-session-quit命令来logout. 如果你确实需 ...
- SSIS 学习(9):包部署常见问题汇总【转】
Integration Services 包在部署过程中,经常会出现这样那样的问题,让人摸不着头脑,很是烦人.下面我就将我在部署过程中,遇到的一些问题整理出来,以供大家参考. (一)SSIS包在SQL ...
- [Java]java反射随笔
类是面向对象的灵魂,一切事物都可以以类来抽象. 在java使用过程中,我们可能会经常用到一个反射的知识,只是别人都封装好的,如jdbc的加载驱动类有一句Class.for(“…jdbc…”).newI ...
- python(3)-内置函数
>>> abs(-1) #绝对值,小数也可以,不能是其它字符 1 >>> all([1,2,3,4,5,6,7]) #如果传入的列表所有元素都为真,则True Tr ...
- JMS笔记(二)
接上篇 JMS笔记(一),启动ActiveMQ后,打开http://127.0.0.1:8161/admin管理界面,用户名admin密码admin,点击上面的Queues菜单,创建一个q_test_ ...
- python 基础——*args和**kwargs
*args表示任何多个无名参数,它是一个tuple:**kwargs表示关键字参数,它是一个dict. def func(one, *args, **kwargs): print type(one) ...
- 阿里云ubuntu搭建SVN服务器
系统:Ubuntu 14.04 64位 新手注意:连接到服务器之后,默认会在用户文件夹位置“~”,使用cd /命令可以回到根目录.SVN搭在公共的位置比较稳妥. 1.通过apt-get安装subver ...
- [改善Java代码]在switch的default代码块中增加AssertionError错误
switch的后跟枚举类型,case后列出所有的枚举项,这是一个使用枚举的主流写法,那留着default语句似乎没有任何作用了,程序已经列举出了所有的可能选项,肯定不会执行到default语句,. 错 ...
- 关于Linux的总结(三)
1.man_page.txt 1.内部命令:echo 查看内部命令帮助:help echo 或者 man echo 2.外部命令:ls 查看外部命令帮助:ls --help 或者 man ls 或者 ...