声明:以下内容大部分来自网站博客文章,仅作学习之用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. 【源码分析】cocostudio场景编辑器的触发器逻辑

    去看场景编辑器的差不多都可以看到有模拟器的设置(菜单栏的设置).默认是选择cocostudio安装路径中的Simulator.exe这个模拟器,看官网介绍是自己可以选择模拟器,而且公开源代码可以按需设 ...

  2. Mysql学习---视图/触发器/存储过程/函数/执行计划/sql优化 180101

    视图 视图: 视图是一个虚拟表(非真实存在),动态获取数据,仅仅能做查询操作 本质:[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用.由 ...

  3. 一、异步编程模型(APM)

    一.概念 APM即异步编程模式的简写(Asynchronous Programming Model).大家在写代码的时候或者查看.NET 的类库的时候肯定会经常看到和使用以BeginXXX和EndXX ...

  4. 全新Chrome Devtool Performance使用指南

    运行时性能表现(runtime performance)指的是当你的页面在浏览器运行时的性能表现,而不是在下载页面的时候的表现.这篇指南将会告诉你怎么用Chrome DevToos Performan ...

  5. Architecture Design Process

    Architecture Design Process The architecture design process focuses on the decomposition of a system ...

  6. 剑指offer13 在O(1)时间删除链表的结点

    把下一个节点的值直接赋值给要删除的节点,然后删除下一个节点.当这样做会有两个bad case:被删除的链表结点的下一个结点为空指针,如果链表只有一个结点.其实链表只有一个结点应该属于下一个结点为空指针 ...

  7. 火狐中jq的attr出现的bug问题用prop代替

    再工作的时候遇到一个很奇怪的问题 ,就是attr属性不好使!就问度娘去了...... 结果如下: .prop()   1..prop( propertyName ) 获取匹配集合中第一个元素的Prop ...

  8. 【题解】洛谷P2023 [AHOI2009] 维护序列(线段树)

    洛谷P2023:https://www.luogu.org/problemnew/show/P2023 思路 需要2个Lazy-Tag 一个表示加的 一个表示乘的 需要先计算乘法 再计算加法 来自你谷 ...

  9. HDU 1248 寒冰王座 (完全背包)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1248 寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    M ...

  10. OpenCV 中CV_IMAGE_ELEM 的使用

    CV_IMAGE_ELEM 是一个宏函数,基本形式: CV_IMAGE_ELEM(image,elemtype,row,col) 其中,image为指针数组,elemtype为数据的存取类型,row为 ...