![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MAKEFILE文件
文章平均质量分 61
flag的小鱼塘
这个作者很懒,什么都没留下…
展开
-
Makefile:Makefile 使用总结
Makefile 使用总结Makefile 使用总结1. Makefile 简介Makefile 是和 make 命令一起配合使用的.很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之间的依赖关系不知会多复杂.Makefile的组织流程的能力如此之强, 不仅可以用来编译项目, 还可以用来组织我们平时的一些日常操作. 这个需要大家发挥自己的想象力.本篇博客是基于{精华} 跟我一起写 Makefile而整理的, 有...转载 2021-01-21 14:54:47 · 2546 阅读 · 0 评论 -
Makefile:.d依赖文件
https://blog.csdn.net/huao798480517/article/details/86910181. 在Makefile中,我们的依赖关系可能会需要包含一系列的头文件,比如,如果我们的main.c中有一句“#include"defs.h"”,那么我们的依赖关系应该是:main.o:main.cdefs.h如果main.c 中包含了很多头文件,那main.o后面要跟N多的.h。你在加入或删除头文件时,也需要小心地修改Makefile。2. 类似于如下的依赖关系只是建...转载 2021-01-21 11:30:45 · 609 阅读 · 0 评论 -
Makefile:wildcard 、notdir和patsubst用法
1、wildcard : 扩展通配符2、notdir : 去除路径3、patsubst :替换通配符例子:建立一个测试目录,在测试目录下建立一个名为sub的子目录$ mkdir test$ cd test$ mkdir sub在test下,建立a.c和b.c2个文件,在sub目录下,建立sa.c和sb.c2 个文件建立一个简单的Makefilesrc=$(wildcard *.c ./sub/*.c)dir=$(notdir $(src))obj=$(patsubst %.c原创 2021-01-19 14:20:08 · 293 阅读 · 0 评论 -
Makefile:include和-include
使用“include FILENAMES...”,make程序处理时,如果“FILENAMES”列表中的任何一个文件不能正常读取而且不存在一个创建此文件的规则时make程序将会提示错误并退出。使用“-include FILENAMES...”的情况是,当所包含的文件不存在或者不存在一个规则去创建它,make程序会继续执行,只有真正由于不能正确完成终极目标的重建时(某些必需的目标无法在当前已读取的makefile文件内容中找到正确的重建规则),才会提示致命错误并退出。通常我们在Makefile中可使用“-原创 2021-01-19 14:19:02 · 289 阅读 · 0 评论 -
Makefile:宏定义EXTRA_CFLAGS += -D 与CONFIG_ =y
makefile宏定义:EXTRA_CFLAGS += -D 与CONFIG_ =yEXTRA_CFLAGS += -D 与CONFIG_ =y1.假如定义一个宏CONFIG_DEBUG在.c里面定义为:#defineCONFIG_DEBUG在makefile里定义为: CONFIG_DEBUG=y假如说我们想在makefile里为.c文件进入一个宏定义,就用EXTRA_CFLAGS += DCONFIG_DEBUG( 等价于在.c文件里定义#defineCONFIG_DE...转载 2021-01-19 11:11:48 · 4934 阅读 · 0 评论 -
Makefile:Makefile中的调试打印方法
Makefile中的调试打印方法使用info/warning/error增加调试信息info#info信息,不打印信息所在行号$(info “here add the debug info”)1 2warning#这个可以停止当前makefile的编译$(error “error: this will stop the compile”)1 2打印变量的值$(info $(TARGET_DEVICE) )1使用echo增加调试信息注:echo只能转载 2021-01-19 10:52:36 · 873 阅读 · 0 评论 -
Makefile:简单的makefile列子
现在我要编译一个Hello world,需要如下三个文件: 1. print.h #include<stdio.h> void printhello(); 2. print.c #include"print.h" void printhello(){ printf("Hello, world\n"); } 3. main.c #include "print.h" int mai转载 2021-01-07 13:14:05 · 159 阅读 · 0 评论 -
Makefile:跟我一起学makefile
跟我一起写Makefile陈皓(博客地址:http://blog.csdn.net/haoel/article/details/2886)整理的PDF文件:http://download.csdn.net/download/xiaoshuai537/102620891. makefile很重要什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是转载 2021-01-07 10:26:24 · 351 阅读 · 0 评论 -
Makefile与shell脚本区别
在Makefile可以调用shell脚本,但是Makefile和shell脚本是不同的。本文试着归纳一下Makefile和shell脚本的不同。1、 shell中所有引用以$打头的变量其后要加{},而在Makefile中的变量是以$打头的后加()。实例如下:MakefilePATH="/data/"SUBPATH=$(PATH)ShellPATH="/data/"SUBPATH=$...转载 2018-10-13 18:06:13 · 536 阅读 · 0 评论 -
makefile中 = ,:=,+=有怎么区别?
= 是最基本的赋值 := 是覆盖之前的值 ?= 是如果没有被赋值过就赋予等号后面的值 += 是添加等号后面的值 1、“=” make会将整个makefile展开后,再决定变量的值。也就是说,变量的值将会是整个makefile中最后被指定的值。看例子: x = foo y = $(x) bar x = xyz 在上例中,y的值将会是 xyz...转载 2018-10-13 17:59:32 · 141 阅读 · 0 评论 -
在Makefile中进行宏定义-D
在Makefile中我们可以通过宏定义来控制源程序的编译。只要在Makefile中的CFLAGS中通过选项-D来指定你于定义的宏即可。如:CFLAGS += -D _YUQIANG在编译的时候加上此选项就可以了: $(CC) $(CFLAGS) $^ -o $@ 下面是我写的一个测试文件: 例如:Makefile文件内容为:CC = gccRM = rmCFLAG...转载 2018-10-13 17:47:52 · 2643 阅读 · 0 评论