声明:以下内容大部分来自网站博客文章,仅作学习之用1、uboot系列之-----顶层Makefile分析(一)1、u-boot.bin生成过程分析


2、make/makefile中的加号+,减号-和at号@的含义3、Makefile中wildcard的介绍4、makefile中"=" , ":=" , " : " 的区别 patsubst 以及addprefix5、Linux之Makefile(filter)6、我使用过的Linux命令之pwd - 显示当前工作目录7、Makefile 里的 subst 函数8、makefile中PHONY的重要性9、Makefile中 -I -L -l区别10、Makefile中include、-include、sinclude的区别11、Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D例子:

#include<stdio.h>
int main()
{
#ifdef CPUDIR
printf("You are right,-DCPUDIR is the same like #define CPUDIR\n");
#else
printf("Sorry,but you have to be more hard!\n");
#endif
return ;
}
CFLAGS += -D CPUDIR
TARGET:=myapp
all:$(TARGET) $(TARGET):main.c
gcc $(CFLAGS) $^ -o $@
clean:
-rm -f *.o
-rm -f $(TARGET)

Makefile

binge@ubuntu14:~/user/my_share/src$ ./myapp
You are right,-DCPUDIR is the same like #define CPUDIR

结果

12、shell 中的>/dev/null 2>&1 是什么鬼?13、linux sed的一个简单用法14、GNU Objcopy语法和使用15、sed命令16、Sed 介绍和教程17、sort和uniq的常见选项及其使用
18、Makefile中使用$$的使用19、makefile下$^,$@,$?,$&lt;,$(@D),$(@F)定义使用详解20、Make命令完全详解教程21、uboot的autoconf.mk 以及mk.dep的产生22、Makefile中notdir函数使用方法23、Linux之Makefile(basename)24、makefile 的ifeq,filter,strip 简单使用

25、if [ -x "$$BASH" ]  then.. else.. fi

26、linux bash Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数

27、$(origin variable)详解

28、uboot下mkconfig脚本具体含义

29、shell中 set 指令的用法

30、Linux CAT与ECHO命令详解 (cat <<EOF>> 、cat <<EOF>)

31、Linux之Makefile(addsuffix)

32、Linux之Makefile(basename)

33、Makefile中的$(@:_config=)什么意思

Makefile 中:反引号: `date`  等同于  $(date)

GCC的常用选项:摘自https://www.cnblogs.com/edver/p/7217167.html

用法:gcc [选项] 文件...
  选项:
    -pass-exit-codes         在某一阶段退出时返回最高的错误码
    --help                   显示此帮助说明
    --target-help            显示目标机器特定的命令行选项
    (使用‘-v --help’显示子进程的命令行参数)
    -dumpspecs               显示所有内建 spec 字符串
    -dumpversion             显示编译器的版本号
    -dumpmachine             显示编译器的目标处理器
    -print-search-dirs       显示编译器的搜索路径
    -print-libgcc-file-name  显示编译器伴随库的名称
    -print-file-name=<库>    显示 <库> 的完整路径
    -print-prog-name=<程序>  显示编译器组件 <程序> 的完整路径
    -print-multi-directory   显示不同版本 libgcc 的根目录
    -print-multi-lib         显示命令行选项和多个版本库搜索路径间的映射
    -print-multi-os-directory 显示操作系统库的相对路径
    -Wa,<选项>               将逗号分隔的 <选项> 传递给汇编器
   -Wp,<选项>               将逗号分隔的 <选项> 传递给预处理器
    -Wl,<选项>               将逗号分隔的 <选项> 传递给链接器

    -Wall         打开所有编译警告
    -Xassembler <参数>       将 <参数> 传递给汇编器
    -Xpreprocessor <参数>    将 <参数> 传递给预处理器
    -Xlinker <参数>          将 <参数> 传递给链接器
    -combine                 将多个源文件一次性传递给汇编器
    -save-temps              不删除中间文件
    -pipe                    使用管道代替临时文件
    -time                    为每个子进程计时
    -specs=<文件>            用 <文件> 的内容覆盖内建的 specs 文件
    -std=<标准>              指定输入源文件遵循的标准
    --sysroot=<目录>         将 <目录> 作为头文件和库文件的根目录
    -B <目录>                将 <目录> 添加到编译器的搜索路径中
    -b <机器>                为 gcc 指定目标机器(如果有安装)
    -V <版本>                运行指定版本的 gcc(如果有安装)
    -v                       显示编译器调用的程序
    -###                     与 -v 类似,但选项被引号括住,并且不执行命令
    -E                       仅作预处理,不进行编译、汇编和链接
    -S                       编译到汇编语言,不进行汇编和链接
    -c                       编译、汇编到目标代码,不进行链接
    -o <文件>                输出到 <文件>
    -x <语言>                指定其后输入文件的语言允许的语言包括:c c++ assembler none
                           ‘none’意味着恢复默认行为,即根据文件的扩展名猜测
                           源文件的语言

u-boot.2012.10makefile分析,良心博友汇总的更多相关文章

  1. Spring Boot源码分析-配置文件加载原理

    在Spring Boot源码分析-启动过程中我们进行了启动源码的分析,大致了解了整个Spring Boot的启动过程,具体细节这里不再赘述,感兴趣的同学可以自行阅读.今天让我们继续阅读源码,了解配置文 ...

  2. Spring Boot源码分析-启动过程

    Spring Boot作为目前最流行的Java开发框架,秉承"约定优于配置"原则,大大简化了Spring MVC繁琐的XML文件配置,基本实现零配置启动项目. 本文基于Spring ...

  3. 精尽Spring Boot源码分析 - 序言

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  4. 精尽Spring Boot源码分析 - Jar 包的启动实现

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  5. 精尽Spring Boot源码分析 - SpringApplication 启动类的启动过程

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  6. 精尽Spring Boot源码分析 - 内嵌Tomcat容器的实现

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  7. 精尽Spring Boot源码分析 - 支持外部 Tomcat 容器的实现

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  8. 精尽Spring Boot源码分析 - 剖析 @SpringBootApplication 注解

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  9. 精尽Spring Boot源码分析 - Condition 接口的扩展

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

随机推荐

  1. l2tp over ipsec

    搭建教程: 转自: https://segmentfault.com/a/1190000006125737 http://www.wangyuxiong.com/blog/ti-yan-qiang-w ...

  2. IERS-OSPF基本工作原理

    IERS-OSPF基本工作原理 一.邻居建立建立过程 1.Router ID 用于在自治系统中唯一标识一台运行OSPF的路由器,每台运行OSPF的路由器都有一个ROUTER ID Route ID 是 ...

  3. Oracle Fusion Middleware Supported System check,jdk,java .etc requirements

    http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html 在oracle官 ...

  4. February 4 2017 Week 5 Saturday

    It takes a great man to be a good listener. 懂得倾听的人才是真的了不起. Don't make comments before you have learn ...

  5. ZT 设计模式六大原则(6):开闭原则

    ZT 设计模式六大原则(6):开闭原则 分类: 设计模式 2012-02-27 08:48 24870人阅读 评论(72) 收藏 举报 设计模式扩展框架编程测试 定义:一个软件实体如类.模块和函数应该 ...

  6. 021logging模块

    ##importlogging logging.debug('debug  message')logging.info('info  message')logging.warning('warning ...

  7. 理解JavaScript闭包(closure)

    闭包听了很多次了,可是到底有那些具体的用法还是不清楚,看了<JavaScript高级程序设计>,有点明白了. 1.闭包的定义: 闭包其实就是一个函数,而这个函数有点特别,它能够访问另一个函 ...

  8. [转]C#打造一个开源webgis(一)系统架构

    搭建一个GIS系统,为了能同时适应C/S和B/S架构,建议是做成自己的地图服务api方式,这样,一个或多个系统,就能通过统一的地图服务接口提供,而通信可以采用http的resful方式,而一个webG ...

  9. Server.xml解析

    来源 本文整理自 <Tomcat内核设计剖析>.<Tomcat结构解析> 加上自己的理解.源码来自 Tomcat8.5 版本 <Server port="800 ...

  10. C#XML格式字符串取节点数据

    XML格式的字符串: <xml><return_code><![CDATA[{0}]]></return_code><return_msg> ...