声明:以下内容大部分来自网站博客文章,仅作学习之用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. oracle 插入大于4000字符的 clob代码

    OracleConnection connection = new OracleConnection(conn); OracleCommand command = new OracleCommand( ...

  2. 用画小狗的方法来解释Java中的值传递

    在开始看我画小狗之前,咱们先来看道很简单的题目: 下面程序的输出是什么? Dog myDog = new Dog("旺财"); changeName(myDog); System. ...

  3. BZOJ1009:[HNOI2008]GT考试(AC自动机,矩乘DP)

    Description 阿申准备报名参加GT考试,准考证号为N位数X1X2....Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字. 他的不吉利数学A1A2...Am(0< ...

  4. halcon 数字转字符串实现循环读取图片

    1.将字符转换为数字 tuple_number (StringImageIndex,IntImageIndex) 2.将数字转换为字符 tuple_string (IntImageIndex, '0' ...

  5. 使用@SuppressWarnings("unchecked")消除非受检警告

    使用泛型编程时,会遇到许多编译器警告,如:非受检强制转化警告,非受检方法调用警告,非受检普通数组创建警告,费受精转换警告.这次的内容就是遇到这些警告的时候你该怎么办 PS:非受检警告就是代码上黄色的感 ...

  6. mybatis动态sql语句学习(一)

    动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不能忘了必要的空格 ...

  7. python之self

    python中的self与Java中的this类似,类的函数通过self引用从而实现对类的数据类型进行访问操作. 1. self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数.(类的方法与 ...

  8. 使用libcurl下载文件小例

    libcurl是一个很强大的开源网络处理库,支持包括HTTP.HTTPS.FTP……一系列网络协议.用它来进行HTTP的get\post 或者下载文件更是小菜一碟,chrome内核都用到了它,本文主要 ...

  9. MVC学习十:MVC 特性作用和MVC 验证

    根据代码分析特性用处 [DisplayName("学员名")] [DataType(DataType.Text)] [StringLength(,ErrorMessage=&quo ...

  10. OSTimeDlyHMSM函数

    1.os_time.c里面 #if OS_TIME_DLY_HMSM_EN > 0 INT8U OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U ...