Makefile的使用

使用makefile构建golang项目 前言 在golang的开发学习过程中,能经常需要执行go test 测试、go build编译、go install安装操作,简单的项目构建起来很方便。但遇到较复杂的项目,比如要跨平台交叉编译,选择性单元测试,性能测试,命令就要附加很多参数,敲起来麻烦,还容易忘记,时常要查看help。为了解决这个问题,我们可以编写shell,将常用操作封装在脚本中,虽然实现简单,但每个人编写、阅读能力不一,不利... 阅读详情

Makefile的使用

自动化编译脚本,这个东西就是,进行简单的设置,然后实现原码编成为相应程序,简单化自己进行相关操作的过程。不需要一个个自己进行全部进行输入。而且还有许多的简化书写方法。

​

这个Makefile的本质为一种脚本语言。

依赖文件

这个东西的本质就是使用蔬菜🥬做出来好吃的美食,而程序也是依赖源文件,才做出来的东西

img

使用make进程脚本的制造的时候,执行a,就一定会执行b。即使b的内容没有更新但是 a的内容更新了

变量

这里可以使用一些常用的符号代替相关的依赖文件(少书一些东西),书写简单一些。

=

可以使用这一个变量自己进行赋值,然后后面都用这个来替代

OBJ = main.o add.cpp
#进行赋值
$(OBJ) # 进行解析使用

g++

这个可以使用CXX进行替代,这个是系统之前默认设置过的相关的东西,不需要进行定义。

$^

对于依赖文件进行代替

main:main.cpp add.cpp mut.o
	g++ $^ 
	#这里的$^代替的上面的mian.cpp,add.cpp,mut.o文件。

$@

对于目标文件的替代

main:main.cpp add.cpp mut.o
	g++ $^  -o $@
	#这里就替代了main

系统常量

IMG_3493C2886F64-1

这些东西都可以进行替代,减轻相应的负担
变量使用的时候需要进行$()进行包含使用,里面存放相应的东西

伪目标

使用这个东西之后会直接进行更新,不用判是否为最新文件。

.PHONY:clean
#这样之后执行清除命令,就不需要填写make,直接使用clean解决问题。

c++11联合编译

对于c++11进行编译需要在上面添加-std=c++11

image-20230302200927706

MakeFile的使用 文章目录MakeFile的使用一、Linux环境下的编译流程二、静态库与动态库2.1 简述2.2 静态库2.3 动态库2.4 优缺点三、MakeFile的制作第1个版本第2个版本第3个版本第4个版本第5个版本静态库的MakeFile动态库的MakeFileover MakeFile的使用 一、Linux环境下的编译流程 主要是用于Linux环境下的C/C++编译 用过Windows环境下的Visual Stduio的朋友应该知道,我们在Windows环境下进行编译时,就是点击一下按钮的事情,非常方便,如果在 阅读详情

相关推荐

保姆级教程:在RK3568开发板上手把手配置RMII百兆以太网DTS节点

本文提供了一份详细的RK3568开发板RMII百兆以太网DTS节点配置教程,涵盖基础概念解析、关键参数设置、实际操作步骤及常见问题排查。通过手把手指导,帮助开发者快速完成RK3568开发板的以太网配置,特别适合嵌入式系统开发者参考。

weixin_33686714的博客 137

Linux下Makefile的使用

本文介绍了最简单的Makefile创建方法及其使用 介绍了文件组织形式、make的工作流程、Makefile的手动编写、Makefile的变量使用、用户自定义变量、预定义变量、自动变量、Makefile的包含和嵌套、Makefile的自动生成、Autotools工具、configure文件的生成以及介绍了用脚本辅助编译

@吹灭小山河的博客 5855

摩尔线程GPU实战:5分钟搞定AI模型部署(含Docker避坑指南)

本文详细介绍了摩尔线程GPU在AI模型部署中的实战应用,包括环境配置、Docker避坑指南及性能优化技巧。通过5分钟快速部署指南,帮助开发者高效利用摩尔线程GPU进行AI模型推理,特别针对常见兼容性问题提供解决方案,显著提升部署效率。

weixin_28736335的博客 454

makefile if 使用

https://blog.youkuaiyun.com/liuzhuchen/article/details/51776820 1、在目标外使用if #这个ifeq else endif,在target 外部,关键字前边一定要有tab ifeq ("aaa","bbb") #内容前可以有空格,如果是tab时,解析为命令 #变量前可以多个空格 LIBS= -laaa else #+ech...

晴树的专栏 1万+

2019年数学建模美赛经验总结

北京时间2019年1月29号上午9时,数模美赛结束。美赛结束已经10多天了,我在这次竞赛中负责建模和编程,趁现在记忆还比较清晰,写下这篇博客记录第一次参加数学建模美赛的经历。 补更:2019年4月20日公布成绩,笔者最终获得了美赛一等奖 目录 1、基本情况 2、选题 3、分工合作 4、论文写作 5、建模 6、编程 7、入门资源 ...

Smallactive 7万+

适配adv7280m相机到rk3588的安卓平台

Kernel-5.10/arch/arm64/configs/firefly_defconfig里面增加配置CONFIG_VIDEO_ADV7180=y。出现一次开不了机器的情况,接调试口发现,在set_fmt里面用s_ctrl对mipi的频率进行设置会出现异常。设备树修改kernel-5.10/arch/arm64/boot/dts/rockchip/13.dts。把MEDIA_ENT_F_ATV_DECODER改回MEDIA_ENT_F_CAM_SENSOR。第二次编译,仅仅刷新boot.img。

chenyq14的专栏 2449

Makefile 保姆级使用教程

Makefile 使用教程 设计思想 Makefile 菜鸟教程Makefile 规则 Makefile的使用介绍 make 命令的使用 即时变量、延时变量介绍和使用使用make命令编译多个文件假想目标 常用函数 1.$(foreach var,list,text) 2.$(wildcard pattern) 3.$(filter pattern...,text) 4.$(filter-out pattern...,text) 5.$(patsubstpattern,replacement,text)

wei_Embedded_z的博客 8565

强化学习-动态规划

动态规划(dynamic programming)是程序设计算法中非常重要的内容,能够高效解决一些经典问题,例如背包问题和最短路径规划。动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到目标问题的解。动态规划会保存已解决的子问题的答案,在求解目标问题的过程中,需要这些子问题答案时就可以直接利用,避免重复计算。本章介绍如何用动态规划的思想来求解在马尔可夫决策过程中的最优策略。

qq_45481856的博客 2113

Makefile中使用变量

目录一、变量的基础二、变量中的变量三、变量高级用法四、追加变量值五、 override 指示符六、多行变量七、环境变量八、目标变量 在 Makefile 中的定义的变量,就像是 C/C++语言中的宏一样,他代表了一个文本字符串,在 Makefile 中执行的时候其会自动原模原样地展开在所使用的地方。其与 C/C++所不同的是,你可以在 Makefile 中改变其值。在 Makefile 中,变量可以使用在“目标”,“依赖目标”,“命令”或是 Makefile 的其它部分中。变量的命名字可以包含字符、数字,下

big_C的博客 7102

android13删除录屏权限提示框-去除录屏提示

在Android 13中,当应用请求屏幕录制权限时,系统会弹出一个权限提示框,要求用户明确授权。这个提示框是为了增强用户隐私保护,让用户知道有应用尝试录制屏幕。但是,在某些情况下,开发者可能希望避免显示这个提示框,以提供更流畅的用户体验。本文将介绍如何在Android 13中删除录屏权限提示框。

zhutoubenben的专栏 1880

利用 RSAU_LOG_API 把 SAP 安全审核日志接入企业 SIEM 的完整指南

在 SAP 世界里,安全审核日志(Security Audit Log,简称 SAL)是审计和合规的核心基础设施之一。系统会在后台把安全相关的关键事件记录下来,比如:(用户登录与登录失败用户锁定、解锁权限对象或角色变更远程调用(RFC)相关活动关键事务码的启动程序直接执行、批处理作业相关的敏感操作传统 ABAP 系统里,这些日志会写到本地应用服务器上的审计文件中(背后对应类似表RSAUENTR2的结构),包含事件标识、客户端、用户、终端、事务码、时间戳等信息。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 161

Makefile详解及使用

Makefile简介 linux环境下,当用户编译文件过多的时候,使用makefile可以帮助模块化编译文件,makefile是一个脚本文件,根据规则,来执行相应的脚本文件,实现自动化编译。

梅山 1万+

【WRF-Urban数据集】 WRF 模型城市冠层参数 GloUCP 的使用

【数据集】 WRF 模型城市冠层参数 GloUCP 的使用

WW、forever的博客 478

Makefile的安装与使用

所需软件在 Linux 系统中使用 Makefile,需要安装 make 工具,此外,根据你的项目类型,可能还需要安装相应的编译器,例如 C/C++ 项目需要安装 gcc 和 g++。安装方法Debian 或 Ubuntu 系统执行上述命令后,系统会自动下载并安装所需的软件包。CentOS 或 Fedora 系统安装完成后,同样可以使用 make --version 命令来验证 make 是否安装成功。

2401_87145357的博客 3114

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【Makefile】Makefile的使用

Makefile的使用

weixin_50964793的博客 2860

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Makefile简明使用教程

这里我的理解是每一个.c文件都会生成一行对应的处理,正如上面完整的makefile文件中注释掉的那一部分,对于每一行来说第一个依赖文件和所有的依赖文件来说是一样的都是对应的那个.c文件。make有一种机制,会根据目标文件的修改和依赖文件的修改时间来判定要不要重新构建,按照上面的写法,某一个源文件稍作改动,所有文件都会重新编译。比较直观的写法,hello 为要构建的目标,main.c和message.c文件为依赖文件,下一行为生成目标要执行的命令。文件,可以通过-f参数来指定要使用的makefile文件。

ApexYuan 1074

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【Makefile】Makefile规则和使用

Makefile的规则和使用

Thenunaoer的博客 1151

使用Makefile管理项目

Makefile 是一种用于自动化编译和构建程序的文件,它包含了一系列的规则(rules),这些规则指定了如何编译和链接程序中的源文件以生成可执行文件或其他非源代码文件。Makefile 使得编译过程更加高效和可重复,尤其是在处理包含多个源文件和复杂依赖关系的项目时。注释:以开头的行为注释。变量:Makefile 中可以定义变量来存储文件名、编译器选项等,以便在多处重复使用。规则(Rules):Makefile 中的核心部分,每个规则定义了如何生成一个或多个目标文件(通常是可执行文件或对象文件)。

dcq715的博客 1162

Makefile使用

当执行 make main 时,如果 main.o 或 function.o 源代码比目标文件新,或者目标文件不存在,那么会先编译这些源代码文件,然后再链接生成 main 可执行文件;Makefile的一般结构包括变量定义、规则(rule)和命令。Makefile由一系列规则和命令组成,用于描述项目中各个源文件之间的依赖关系,并指示如何从源代码生成目标文件(如可执行程序或库文件)若main的依赖文件main.o function.o比较新或者不存在时,会向下寻找对应的目标执行命令。

weixin_44491256的博客 389

Makefile中变量的使用

(1)在Makefile中,使用变量只是简单的将其内容进行替换,变量的使用格式见下例:Objects=a.o b.o c.oProgram:$(Objects)             gcc $(Objects) -o Program(2)变量也可以使用在其后定义的变量,见下例:Obj1=$(Obj2)Obj2=

sdn_bupt的专栏 326
上一篇: 进程控制
下一篇: TCP网络连接的书写
assibe
博客等级 码龄5年 1640粉丝 84原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值