makefile之目录搜索&自动依赖】的更多相关文章

目录搜索 在一个大工程中,一般会将源文件和中间生成文件放在不同的目录,而且不会污染源码所在的目录.当需要编译不同目录下的源文件时,就需要指定路径,那么怎样让路径的表示以及源文件的引用更加灵活.就要用到目录搜索功能. VPATH VPATH:指定依赖文件的搜索目录,当规则的依赖文件在当前目录不存在时,make会在此变量所指定目录下去寻找这些依赖文件. #VPATH = src all: VPATH.o @echo compile done %.o: %.c gcc -c $< -o $@ 源码路径…
自动依赖生成 基于make的构建环境要正确工作, 一个很重要(也很烦人)的任务是, 在makefile中正确列 举依赖. 这个文档将介绍了一个非常有用的让make自身来创建和维护这些依赖的方法. 文章来源 所有的make程序都需要知道, 某个特定的target依赖的文件有哪些, 以便确认它(target) 会在必要的时候进行rebuild. 手动更行这个清单不仅仅是让人乏味, 而且非常容易出错. 多数系统(不论大小)都偏向与 提供自动提取这个信息的自动化工具. 传统的工具的是makedepend…
目标 即我们最终要生成的文件,make默认生成第一个目标,注意 makefile中tab和空格不是一回事,规则使用tab缩进,编辑器不要设置诸如"将tab替换为空格之类的选项",目标的结构如下 目标:依赖1 依赖2 <TAB>生成目标的规则 伪目标 无论如何也要执行的目标,需要使用.PHONY:标识 .PHONY:clean clean: rm -f *.o 常见伪目标 all 是所有目标的伪目标,功能是编译所有目标 clean 删除所有被make创建的文件 install…
# # c.cpp混合编译的makefile模板 # # BIN = test.exe CC = gcc CPP = g++ #这里只加入库头文件路径及库路径 INCS = -I"c:/mingw/include" LIBS = -L"c:/mingw/lib" SUBDIRS = #生成依赖信息时的搜索目录,比如到下列目录中搜索一个依赖文件(比如.h文件),例如 -I"./***/" -I"./base/" DEFINC =…
Makefile之文件搜索 1.Makefile 文件中的"VPATH"变量 如果没有指明这个变量,make只会在当前目录下查找依赖文件和目标文件: 如果定义了这个变量,make会先在当前目录下找不到的情况下,到此变量所指定的目录中去寻找: VPATH = src :  ../headers; 目录之间使用“ : ”隔离开: 2.Makefile文件中的“vpath”关键字 这个“vpath”是关键字不是变量,区别于"VPATH"; 三种使用方法: 1).vpath…
在使用makefile多目录编写前需要掌握几个函数及符号 自定义变量 target=edit 引用的时候直接使用 $(target) 有点像C语言中的#define,这里的 $(target)会被替换成edit. 也可以替换多个文件,注意空格 object=main.o xxx.o xxx.o 自动变量 自动变量是使用在第二行也就是gcc -c xxx中 $< : 规则中的第一个依赖 $@:规则中的目标 $^: 规则中所有的依赖 $(target):$(obj) gcc \$^ -o \$@ 这…
转载:http://c.biancheng.net/view/7051.html 我们都知道一个工程文件中的源文件有很多,并且存放的位置可能不相同(工程中的文件会被放到不同的目录下),所以按照之前的方式去编写 Makefile 会有问题.我们之前列举的例子,所有的源文件基本上都是存放在与 Makefile 相同的目录下.只要依赖的文件存在,并且依赖规则没有问题,执行 make命令整个工程就会按照对我们编写规则去编译,最终会重建目标文件.那如果需要的文件是存在于不同的路径下,在编译的时候要去怎么办…
@ 目录 StringBoot整合ELK实现日志收集和搜索自动补全功能(详细图文教程) 一.下载ELK的安装包上传并解压 1.Elasticsearch下载 2.Logstash下载 3.Kibana下载 4.上传并解压 二.Elasticsearch配置 1.修改配置文件elasticsearch.yml 2.新建es用户 3.启动Elasticsearch 4.启动问题: 4.1:JDK版本问题: 配置自己的jdk11 添加jdk判断 4.2:内存不足问题处理: 三.Logstash配置 1…
VS项目中的包含目录.库目录.附加包含目录.附加库目录.附加依赖项均在"项目->属性->配置属性"下进行配置 一.具体说明如下: 1.VC++目录:     包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录     库目录:寻找.lib文件的搜索目录 2.C/C++:     常规->附加包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录(每一项对应一个文件夹XXXX,文件夹中包含了编译时所需的头文…
VS项目中的包含目录.库目录.附加包含目录.附加库目录.附加依赖项均在"项目->属性->配置属性"下进行配置,具体说明如下: VC++目录: 包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录 库目录:寻找.lib文件的搜索目录 C/C++: 常规->附加包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录(每一项对应一个文件夹XXXX,文件夹中包含了编译时所需的头文件,使用时直接#include<…