首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux】初步使用makefile

1 快速使用 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程能力 一个工程中源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列规则来指定,哪些文件需要先编译...,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂功能操作 makefile带来好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大提高了软件开发效率...make是一个命令工具,是一个解释makefile中指令命令工具,一般来说,大多数IDE都有这个命令,比如:Delphimake,Visual C++nmake,Linux下GNUmake。...make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建 1.1 认识makefile makefile 可以实现自动化构建代码工程 首先 来认识一下make makefile...1.2 使用makefile 我们首先编写一个简单makefile文件 我们使用make 命令来执行 然后我们就成果得到了可执行程序mytest,并可以成功执行。

11310
您找到你想要的搜索结果了吗?
是的
没有找到

Linux 开发 | 学习 Makefile

@(linux 编程)[开发技能, 工具使用] What is GNU Make Make 是控制工程中通过源码生成可执行文件和其他相关文件工具。...---- Makefile概述 基本格式 基本上每一个 Makefile 主体就是由若干个以下规则模块组成 : 表明输出目标,输出目标的依赖对象和生成目标需要执行命令。...Makefile 嵌套 对于一个比较大工程,不同模块分类在不同目录,分别用一个 Makefile 进行管理,模块化编译,方便工程维护和保证 Makefile 简洁。...---- Makefile变量 Makefile变量,就如程序中宏定义,代表一个字串,在使用地方展开,通过 $(variable) 表示变量内容,和 shell 类似。...:= 是覆盖之前值(类似C中 = ) 变量值决定于它在makefile位置,而不是整个makefile展开后最终值。

5.3K10

LinuxMakefile学习笔记以及多级目录下Makefile编写

Makefile文件文件内容来执行大量编译工作,Make将只编译改动代码文件,而不用完全编译。...Makefile文件一般和项目的其他源文件放在同一个目录下。在机器上可以同时存在许多不同makefile文件,如果一个大项目,可以用多个不同makefile文件来分别管理项目的不同部分。...如果未使用这个选项,标准版make命令将优先在当前命令下查找名称为makefile文件,如果不存在名称makefile文件,则开始查找名为Makefile文件。...三、Makefile宏 可以通过KEY=value在makefile中定义宏。...makefile打印出来信息更加直观和人性化,可以适当添加一些提示信息,简单更改makefile如下: ifeq ($(t), 0) TOOL= else TOOL=arm-none-linux-gnueabi

4.8K10

LinuxMakefile文件详解

以下是一个简单 Makefile 文件示例,以及对其中关键部分详细解释: 1....注意事项 空格问题: Makefile 使用 Tab 键而不是空格来缩进规则。 文件依赖: Makefile 核心是文件之间依赖关系,确保每个目标都依赖于正确文件。...Makefile 是一个非常强大工具,可以用于管理复杂项目结构。以上示例是一个简单入门级别的 Makefile,实际项目中可能会包含更多配置和规则。 5....make 使用一个名为 Makefile 文件,其中包含了一系列规则和指令,描述了文件之间依赖关系以及如何生成目标文件。以下是一个简单 Makefile 文件结构和基本要素: 11....条件语句 Makefile 中可以使用条件语句,根据不同条件执行不同指令。

19510

linux下,Makefile是啥??

为什么要学习MakefileLinux环境下程序员如果不会使用GNU make来构建和管理自己工程,应该不能算是一个合格专业程序员,至少不能称得上是Unix程序员。...在Linux(unix)环境下使用GNUmake工具能够比较容易构建一个属于你自己工程,整个工程编译只需要一个命令就可以完成编译、连接以至于最后执行。...Makefile命名规则 默认情况下,make命令会在当前目录下按顺序找寻文件名为“GNUmakefile”、 “makefile”、“Makefile文件,在这三个文件名中,最好使用“Makefile...有另外一些make只对全小写makefile”文件名敏感,大多数make都支持“makefile”和“Makefile”这两种默认文件名。...Makefile也可以为其他名字,比如makefile.linux,但你需要使用make参数(-f or --file)制定对应文件,例如: make -f makefile.linux Makefile

1.1K20

Linuxmake命令与Makefile

概述 博客内容包含linux下make命令使用与makefile书写规则等,希望通过本文档使读者对make命令makefile文件有进一步了解,由于鄙人经验学识有限文档中会有描述不准确以及理解偏差,...fythons@sina.com 从一只猫说起hello kitty linux系统中make命令与makefile文件 make与makefilelinux系统中make是一个非常重要编译命令...make命令隐藏了什么 linux 编译hello_kitty 只需要简单make hello_kitty 上述过程可分解为四部分,预处理(Propressing),编译(Compilation),...指定makefile GNU make找寻默认Makefile规则是在当前目录下依次找三个文件“GNUmakefile”、“makefile”和“Makefile”。...j: 也就是jobs,输出执行规则中命令详细信息,如命令PID、返回码等。 m: 也就是makefile,输出make读取makefile,更新makefile,执行makefile信息。

10.1K20

linux项目构建工具——makefile

一、 makefile 在多文件中使用 1.创建文件 先创建三个文件 test.h mytest.c main.c 文件 [yzq@VM-8-8-centos mk]$ touch test.h...,我们引用头文件是 test.h ,因为是自己创建头文件,所以要用" " 4. main.c——函数调用 #include"test.h" int main() { show(); return...hello world hello world 正常生成是利用 gcc mytest.c main.c -o test 生成一个可执行程序 test ./ test产生 hello world 6. makefile...使用 首先使用 vim makefile (这里若是没有创建,则会自动创建一个文件)进入vim编辑器 test: mytest.c main.c gcc $^ -o $@ .PHONY:...使用 make clean 原因 makefile是一个脚本,默认识别是从上往下,只会执行一个可执行,所以想要跳过项目的创建,就要加上对应名字

2K10

Linux之make和makefile及其拓展

文章目录 make和makefile 基础知识 make/makefile使用 伪目标 三个时间 推导规则 小程序进度条 缓冲区问题 倒计时程序 进度条 make和makefile 基础知识...makefile制定了一系列规则来指定。 makefile带来好处就是自动化编译,一旦写好这个文件,只需要一条make命令,整个工程就能自动完成编译,极大提高了效率。...make是一个命令,makefile是一个文件 make/makefile使用 系统本身并没有makefile,需要我们自己创建makefile文件(也可以叫Makefile)。...意思是访问文件频率可能会很高,如果每访问一次就修改一次访问时间,就会进行大量多余IO 所以设计者决定采用,多长时间后访问或者连续访问多少次以后再更新访问时间 推导规则 调用make指令后makefile...: 不用在makefile文件中放process.h文件,因为编译器会自动到当前目录去查找 最后一起来看看程序运行结果: ---- 最近文章都写比较短,因为我感觉写太长了没什么人看,虽然我文章本来也没人看

3.7K00

LinuxMakefile是什么?它是如何工作?

用这个方便工具来更有效运行和编译你程序 makefile是用于自动编译和链接,一个工程有很多文件组成,每一个文件改变都会导致工程重新链接—–但是不是所有的文件都需要重新编译,makefile...make 工具需要读取一个 Makefile(或 makefile)文件,在该文件中定义了一系列需要执行任务。你可以使用 make 来将源代码编译为可执行程序。...大部分开源项目会使用 make 来实现最终二进制文件编译,然后使用 make install 命令来执行安装。 本文将通过一些基础和进阶示例来展示 make 和 Makefile 使用方法。...这是因为Makefile第一个目标为默认目标。通常情况下会调用默认目标,这就是你在大多数项目中看到 all 作为第一个目标而出现。all 负责来调用它他目标。...下面是重写后 Makefile,该文件应该被放置在一个有 foo.c 文件目录下: # Usage: # make # compile all binary # make clean # remove

3.3K31

Makefile 使用

Linux 中使用 make 命令来编译程序,特别是大程序;而 make 命令所执行动作依赖于 Makefile 文件。...使用 我参考 Linux 内核 Makefile 编写了一个通用 Makefile,它可以用来编译应用程序: ① 支持多个目录、多层目录、多个文件; ② 支持给所有文件设置编译选项; ③...使用 git 下载本教程文档后,下列目录中就有说明和示例: 01_all_series_quickstart\ 04_嵌入式 Linux 应用开发基础知识\source\05_general_Makefile...本节下面的内容中不需要看,这是为写书《嵌入式 Linux 应用开发完全手册 升级版》而准备。结合3.0 节看视频就可以了。...一个 Makefile 文件可以包含规则以外其他文本,但一个简单 Makefile 文件仅仅需要包含规则。虽然真正规则比这里展示例子复杂,但格式是完全一样

4.3K42

Linux makefile 教程 非常详细,且易懂

最近在学习LinuxC编程,买了一本叫《Linux环境下C编程指南》读到makefile就越看越迷糊,可能是我理解能不行。 于是google到了以下这篇文章。通俗易懂。...后记,看完发现这篇文章和《Linux环境下C编程指南》makefile一章所讲述惊人相似,只是这篇文章从一个实例切入,在有些地方比较好理解。能让人看懂就是好文章。...make是一个命令工具,是一个解释makefile中指令命令工具,一般来说,大多数IDE都有这个命令,比如:Delphimake,Visual C++nmake,Linux下GNUmake。...当然,你可以使用别的文件名来书写Makefile,比如:“Make.Linux”,“Make.Solaris”,“Make.AIX”等,如果要指定特定Makefile,你可以使用make“-f”和“...、HP-UX、AIX和Alpha下使用,Linux和Solaris下更多一点。

4.2K20

Linux系统-Makefile规则介绍、基本使用

Makefile基本使用 命令行make命令支持解析makefileMakefile文件。 如果我们编写规则文件不是makefile或者Makefile文件,那么需要使用-f选项指定。...[wbyq@wbyq linux_c]$ make -f Makefile文件内部是以目标作为单位执行规则顺序。...就是在生成这个目标之前,需要得到文件。 2. make指定目标执行 Makefile文件里可以有多个目标文件,我们在命令行执行make命令默认执行Makefile文件里第一个目标。...隐藏makefile文件执行命令 方法1: make -s 方法2: 在执行命令前面加上@符号 4. 示例1: 编译一个简单工程 使用显式规则编写Makefile文件,编译一个工程。.../app sum_val=300 [wbyq@wbyq linux_c]$ 5. 示例2: 编译一个简单工程 使用自动化编译符号优化Makefile文件,编译一个工程。 6.

1.2K30

makefileinclude作用(makefile变量)

mkdir test $ cd test $ mkdir sub 在test下,建立a.c和b.c2个文件,在sub目录下,建立sa.c和sb.c2 个文件 建立一个简单Makefile...或者可以使用 obj=$(dir:%.c=%.o) 效果也是一样。 这里用到makefile替换引用规则,即用您指定变量替换另一个变量。...它标准格式是 $(var:a=b) 或 ${var:a=b} 它含义是把变量var中每一个值结尾用b替换掉a 今天在研究makefile时在网上看到一篇文章,介绍了使用函数...SRC = $(wildcard *.c) $(wildcard inc/*.c) 也可以指定汇编源程序: ASRC = $(wildcard *.S) 这样一来,makefile...使用变量替换引用将变量“foo”以空格分开值中所有的字尾字符“o”替换为“c”,其他部分不变。

3.1K50

makefile

前言 这几天实验让我觉得有必要学习一下makefile 参考博客:博客 会不会写makefile,从一个侧面说明了一个人是否具有完成大型工程能力 makefile带来好处是自动化编译 规则...上述make工作方式 make寻找名为makefile或者Makefile文件 寻找第一个目标文件,上述例子edit为最终目标文件 如果edit文件不存在,那么make会寻找edit后.o文件,...输入 make clean 才可以执行 变量 出于对makefile易维护性考虑,引入了变量概念: objects=main.o kbd.o command.o display.o \ insert.o...告诉make也许某些文件会出现问题,但不要管,继续clean makefile文件系统 如果你不想使用makefile或者Makefile文件名,可以用make -f file,file是你文件名...makefile中包含其他makefile指令如同c++ 一样: -include foo.make a.mk b.mk c.mk e.mk f.mk 减号仍然表示不管怎样报错都继续执行下去,上面的命令可以采用部分正则规则简化

1K20

Linuxmakefile实战 ——编写真实C项目

Linux 下真实C项目设计 文件目录说明 include 存放自己设计.h头文件之所在 include/stack.h 栈所使用头文件。文件中已经定义出其包含功能函数。...具体请查看文件注释 stack.c 栈功能函数实现文件。目前为空文件。 main.c 一个简单主程序,调用自定义栈功能测试入栈、出栈功能。 Makefile make控制文件。...实现Makefile 实现make命令完成所有编译、链接工作 实现make clean命令可以恢复代码为原始状态 运行结果 在windows下打开linux shell: ?...我们看下makefile内容: main:main.o my_stack.o gcc main.o my_stack.o -o main main.o:main.c gcc -c main.c my_stack.o...可以看到自己手写栈功能运行正常,还没有出现大bug~ 测试一下make clean: ? ? 文件夹中main main.o 已经stack.o都被删除了,makefile运行正常

1.1K50
领券