文档章节

最近项目上Makefile的小Bug

eric-PAY4
 eric-PAY4
发布于 2013/08/21 11:31
字数 183
阅读 48
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

最近项目编译aboot,第一遍能编译出来,第二遍编译不出,第三遍可以。这本是高通基线版本,但实在看不下去了,就去把Makefile给改了。这段Makefile大概是这样的。
TARGET_EMMC_BOOTLOADER := $(PRODUCT_OUT)/emmc_appsboot.mbn
EMMC_BOOTLOADER_OUT := $(TARGET_OUT_INTERMEDIATES)/EMMC_BOOTLOADER_OBJ

emmc_appsbootldr_clean:
	rm -f $(TARGET_EMMC_BOOTLOADER)
$(EMMC_BOOTLOADER_OUT): emmc_appsbootldr_clean
	mkdir -p $(EMMC_BOOTLOADER_OUT)
$(TARGET_EMMC_BOOTLOADER): $(EMMC_BOOTLOADER_OUT)
	$(MAKE) -C bootable/bootloader/lk BOOTLOADER_OUT=../../../$(EMMC_BOOTLOADER_OUT) $(BOOTLOADER_PLATFORM) EMMC_BOOT=1 $(SIGNED_KERNEL)

只要TARGET_EMMC_BOOTLOADER和EMMC_BOOTLOADER_OUT都存在的情况下,MAKE是不会执行的。只有当TARGET_EMMC_BOOTLOADER文件被删除后,第二次运行的时候,才会MAKE。

而作者的意思是每次执行TARGET_EMMC_BOOTLOADER这个目标的时候,都要编译MAKE,所以我就直接把emmc_appsbootldr_clean添加为TARGET_EMMC_BOOTLOADER的依赖条件,每次都执行。

© 著作权归作者所有

eric-PAY4
粉丝 6
博文 12
码字总数 1635
作品 0
深圳
程序员
私信 提问
驾驭Makefile (准完整版)

最近工作很忙,但这不是为什么一个多星期没有更新博客的原因。相反,最近一直在写这篇文章。现在终于让它与大家见面了!这是一篇长达60多页的文章(见附件),希望与你渴望学习Makefile的热情...

李云
2009/08/25
0
0
Makefile之写demo时的通用Makefile写法总结

前面的一篇博文Makefile之大型工程项目子目录Makefile的一种通用写法介绍了大型项目子目录Makefile的一种通用写法,然而最近在写Linux网络方面的demo,一个目录下有几个文件,如果手工输命令显...

ustbgaofan
2014/08/15
115
0
问一个Linux Netbeans的配置问题

本人Windows coder一枚, 最近有个功能要在Linux开发,用的开发环境是Netbeans。 我找到一个参考的开源代码:tcpxtract https://sourceforge.net/projects/tcpxtract/ 用Netbeans导入Existin...

稀饭桶子
2016/05/06
128
0
Linux服务端编程automake的应用

对于写window-c++的程序员来说由IDE帮他们解决源代码的编译过程,但是针对linux-c/c++程序写一个makefile 确实也让人头痛 最近源码编译开源软件的时候认识了automake,今天就使用automake做了...

leicc
2016/09/22
12
0
针对QT——“在程序文件中(*ui,*cpp,*h)更改之后编译运行的程序结果无法更新”——解决方案

本篇文章主要介绍在QT中,对程序文件(ui,cpp,*h)更改之后编译运行的程序结果却无法更新的解决方案。 问题描述 在设计QT的GUI用户界面时,我们需要不断对程序文件进行修改以优化用户体验,因...

qq_1196581964
2018/12/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何管stderr,而不是stdout?

我有一个要写入信息的程序stdout和stderr ,我需要grep通过什么是未来标准错误 ,而忽视标准输出 。 我当然可以分2步完成: command > /dev/null 2> temp.filegrep 'something' temp.file...

技术盛宴
25分钟前
4
0
centos7.5上通过docker安装并运行mysql5.7

1. docker pull mysql:5.7 2. docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7...

Ryub
28分钟前
6
0
什么是比赛条件?

在编写多线程应用程序时,遇到的最常见问题之一是竞争条件。 我对社区的问题是: 什么是比赛条件? 您如何检测到它们? 您如何处理它们? 最后,如何防止它们发生? #1楼 当设备或系统试图同...

javail
40分钟前
6
0
SpringMVC源码分析-DispatcherServlet-init方法分析

上一篇:SpringMVC源码分析-DispatcherServlet实例化干了些什么 先吐槽一下。。。写了两小时的博客突然被俺家小屁孩按了刷新,东西不见了,建议OSCHINA能够自动定时保存啊。让我先安静一下。...

特拉仔
47分钟前
7
0
python协程 生成器

协程,又称微线程,纤程。英文名Coroutine。 线程是系统级别的它们由操作系统调度,而协程则是程序级别的由程序根据需要自己调度。在一个线程中会有很多函数,我们把这些函数称为子程序,在子...

沙门行道
58分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部