Makefile总结

news2024/9/23 21:32:40

一、Makefile用法及变量(自定义变量、自动变量、隐含变量)

一、Makefile的重要性

1、编译文件

2、正常编译,文件多的时候操作麻烦

3、决定能不能完成大型工程  

二、Makefile的概述

1、自动化编译-makefile

编译效率:make编译过的文件不再编译

三、Makefile的基本语法

1、语法

2、使用

1)创建一个目录

2)和函数

3)和函数声明

4)减函数

5)减函数声明

6)主函数

7)普通编译

8)makefile编译

9)两步编译

此时编译,只会执行第一个目标sub.o

解决办法:将我们最后需要的test提到最前面,想要实现test需要执行下面的目标

10)修改test.c

此时只有两条命令会重新执行

生成test.o和生成test

由于sub.c和add.c没有发生变化

所以sub.o和add.o不需要重新编译生成

11)删除除了.c和可执行文件

常规:rm *.o

放到makefile中

也可以理解为:不加目标,只访问第二个目标,加了目标,会直接访问此目标

二、Makefile自定义变量

(一)Makefile创建变量的目的

1、

(二)自定义变量

(三)变量的赋值

1、=

2、?=

3、:=

4、+=追加赋值

三、Makefile自动变量

1、$+ $^ $<

2、@$ 不显示命令

3、打印

四、Makefile隐含变量

1、CC:编译器的名字

没有的编译器会报错

2、CFLAGS

3、头文件在不同目录

要指定头文件的路径 -I(绝对或相对)

4、$RM == rm -f

5、% % ==.o .c

 二、Makefile的条件判断及函数使用

一、Makefile条件判断

1、ifeq

2、ifneq

3、ifdef

4、变量

二、Makefile函数

(一)Makefile常用函数

1、wildcard

2、

(二)Makefile自定义函数

三、make使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1131657.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

01.MySQL(SQL分类及使用)

注意&#xff1a;DML只是进行增删改&#xff0c;DQL才有查询 分类全称说明DDLData Definition Language数据定义语言&#xff0c;用来定义数据库对象&#xff08;数据库&#xff0c;表&#xff0c;字段&#xff09;DMLData Manipulation Language数据操作语言&#xff0c;用来…

vue3的getCurrentInstance获取组件实例踩坑记录

一、getCurrentInstance基本用法 我们可以通过 getCurrentInstance这个函数来返回当前组件的实例对象,也就是当前vue这个实例对象 Vue2中&#xff0c;可以通过this来获取当前组件实例&#xff1b; Vue3中&#xff0c;在setup中无法通过this获取组件实例&#xff0c;console.lo…

ElasticSearch中关于Nasted嵌套查询的介绍:生动案例,通俗易懂,彻底吸收

题注&#xff1a;随着对ES接触的越来越深入&#xff0c;发现此前了解的ES知识点有点单薄&#xff0c;特此寻来ES知识点汇总成的一个思维导图&#xff0c;全面了解自己掌握了哪些&#xff0c;未掌握哪些。此外&#xff0c;作者斌并没有足够的精力学习ES全部的知识点&#xff0c;…

1024程序员节,飞桨星河社区开发者们一起闯关升级、玩转Prompt应用赢大奖~

1024&#xff0c;是属于每一位程序员/程序媛的节日~ 今年&#xff0c;飞桨给星河社区的开发者们也准备了“超级码力 碰撞未来”系列活动&#xff0c;和大家沉浸式玩转闯关冒险。 冲榜单 零代码打造爆款Prompt应用 飞桨AI Studio星河社区上线新版文心一言专区&#xff0c;帮助…

代码随想录算法训练营第三十三天 | LeetCode 1005. K 次取反后最大化的数组和、134. 加油站、135. 分发糖果

代码随想录算法训练营第三十三天 | LeetCode 1005. K 次取反后最大化的数组和、134. 加油站、135. 分发糖果 文章链接&#xff1a;K次取反后最大化的数组和 加油站 分发糖果 视频链接&#xff1a;K次取反后最大化的数组和 加油站 分发糖果 目录 代…

STM TIM(二)输出比较

STM TIM&#xff08;二&#xff09;输出比较 输出比较简介 OC&#xff08;Output Compare&#xff09;输出比较 输出比较可以通过比较CNT&#xff08;CNT计数器&#xff09;与CCR寄存器&#xff08;捕获/比较寄存器&#xff09;值的关系&#xff0c;来对输出电平进行置1、置0…

Camtasia2024中文免费版电脑录屏软件

真的要被录屏软件给搞疯了&#xff0c;本来公司说要给新人做个培训视频&#xff0c;想着把视频录屏一下&#xff0c;然后简单的剪辑一下就可以了。可谁知道录屏软件坑这么多&#xff0c;弄来弄去头都秃了&#xff0c;不过在头秃了几天之后&#xff0c;终于让我发现了一个值得“…

如何理解Go言中的Context?

目前看过除了《go语言程序设计》以外最好的教程&#xff1a;https://www.practical-go-lessons.com 原文&#xff1a;https://www.practical-go-lessons.com/chap-37-context 你将在本章中学到什么&#xff1f; 1.什么是上下文&#xff1f; 2.什么是链表&#xff1f; 3.如何…

DAOS学习笔记及思考

DAOS带来的思考 根据daos docs的描述&#xff0c;DAOS是Intel基于NVMe全新设计开发并开源的异步对象存储&#xff0c;充分利用下一代NVMe技术的优势&#xff0c;对外提供KV存储接口&#xff0c;提供非阻塞事物I/O&#xff0c;端到端完整性&#xff0c;细粒度的数据控制&#x…

班级信息收集小程序

老师们&#xff01;这里有一个超级实用的班级信息收集小程序&#xff0c;让你告别繁琐的手动记录成绩&#xff0c;轻松实现学生自助查询成绩&#xff01;是不是很期待&#xff1f; 什么是成绩查询系统&#xff1f; 成绩查询系统是一种基于互联网和数据库技术的应用程序&#x…

基于springboot+vue实现MOBA类游戏攻略平台项目【项目源码+论文说明】

基于springbootvue实现MOBA类游戏攻略平台 摘要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&a…

HTML5+CSS3+JS小实例:打散文字随机浮动特效

实例:打散文字随机浮动特效 技术栈:HTML+CSS+JS 效果: 源码: 【HTML+JS】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" conte…

SRS Config 二 Stream Caster

SRS StreamCaster 1 官网简介 Stream Converter侦听特殊的TCP/UDP端口&#xff0c;接受客户端连接和媒体流&#xff0c;并转成RTMP流&#xff0c;推送给SRS。 简单来说&#xff0c;它将其他流转成RTMP流&#xff0c;工作流如下&#xff1a; Client ---PUSH--> Stream Co…

微信小程序云开发笔记-初始化商城小程序

一 下载小程序工具 下载地址 二 创建小程序 三 初始化小程序 1 把cloudfunctions文件夹内所有文件删除 2 把miniprogram\components下所有文件删除 3 pages文件夹里面只保留index文件夹&#xff0c;其他都删除并修改index文件夹下文件 index.js 把数据清空&#xff0c;只保…

GEAR框架: Tractian的敏捷工程文化

GEAR(齿轮)框架是工业初创公司TRACTIAN提出的敏捷开发框架&#xff0c;强调一切以人为中心&#xff0c;客户需求为最高优先级&#xff0c;互动胜于流程的开发文化。原文: The GEAR Framework — Tractian’s Agile Engineering Culture GEAR框架&#xff0c;由TRACTIAN和Pietro…

国外调查问卷项目赚美金是真的吗?

大家好&#xff0c;我是橙河网络&#xff0c;一家问卷公司老板&#xff0c;这几年国外问卷这个项目比较火热&#xff0c;很多人都靠这个项目赚的盆满钵满&#xff0c;这篇文章就详细介绍一下国外调查问卷项目赚美金是真的吗&#xff1f; 国外问卷调查是一种付费的市场调研方法…

「Java开发指南」如何在MyEclipse中使用JPA和Spring管理事务?(二)

本教程中介绍一些基于JPA/ spring的特性&#xff0c;重点介绍JPA-Spring集成以及如何利用这些功能。您将学习如何&#xff1a; 为JPA和Spring设置一个项目逆向工程数据库表来生成实体实现创建、检索、编辑和删除功能启用容器管理的事务 在上文中&#xff08;点击这里回顾>…

ST 2.0 霍尔FOC 的相关难点总结

文章目录 HALL_Init_Electrical_Angle()Clark 变换获取电流park 变换 , 逆park变换逆park变换的幅度限制扇区计算 https://www.zhihu.com/people/Temo/posts每个相位的执行时间计算 &#xff08;如果自己记录的不够清楚&#xff0c;可以打开同目录。资源文件目录下的&#xff1…

【vue3】依赖注 provide、inject(父组件与儿子、孙子、曾孙子组件之间的传值)

一、基本用法&#xff1a; //父组件 import { ref, provide } from vue const radio ref<string>(red) provide(myColor,radio) //注入依赖//儿子组件、孙子组件、曾孙子组件 import { inject } from vue import type { Ref } from vue; const myColor inject<Ref&l…

保护云数据安全的关键环节是什么?

云数据安全是维护数据隐私和保护关键信息的关键一环。在云中存储和处理数据提供了巨大的便利性和效率&#xff0c;但同时也伴随着风险。本文将介绍保护云数据的关键环节是什么! 1、数据加密&#xff1a;在传输和存储数据时使用强加密是保护数据的基本步骤。确保数据在云中存储时…