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 ...
随机推荐
- HDU1013_Digital Roots【大数】【水题】
Digital Roots Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- IE7下position:relative的问题
如果在IE7中使用position:relative属性,需要在该元素的容器上,同时给予position:relative属性.
- Eclipse launch failed.Binary not found解决方案
配置完成后建立工程测试,发现建立Hello World c++ Project类型的项目后可以运行测试,直接建立空项目写个测试类无法运行,提示"launch failed.Binary no ...
- SQlServer2008 之 定时执行sql语句作业的制定
1.打开[SQL Server Management Studio],在[对象资源管理器]列表中选择[SQL Server 代理]: 2.鼠标右击[SQL Server 代理],选择[启动(S)],如 ...
- 使用c3p0连接池
首先我们需要知道为什么要使用连接池:因为jdbc没有保持连接的能力,一旦超过一定时间没有使用(大约几百毫秒),连接就会被自动释放掉,每次新建连接都需要140毫秒左右的时间而C3P0连接池会池化连接,随 ...
- iptables常用命令
常规: iptables -t filter -A INPUT -d -p tcp --dport -j DROPiptables -A INPUT -m iprange --src-range 22 ...
- python(1) - 数据类型和变量
数据类型: 整数:就是整数,包括正整数,0,负整数 浮点数: 通俗点说,就是小数 长整数: 就是比较长的整型,通常后面会跟一个L 字符串: 字符串需要用""或''括起来.单引号和双 ...
- 多tab页框架的使用场合
多tab页框架适合应用于功能较少的场合,例如邮箱后台之类的. 对于一些业务功能多且复杂的场合就不适用.打开过多的tab页容易给用户造成混乱,页面的跳转也存在一定的难度. 一种新技术不能完全取代旧技术, ...
- Win10开机小键盘不亮解决办法
1.首先修改注册表打开[HKEY_USERS\.DEFAULT\Control Panel\Keyboard]项,将"InitialKeyboardIndicators"的键值从& ...
- asp.net post方法;对象转json
[System.Web.Services.WebMethod()] public static string GetPoints(string userId) { st ...