Linux常用工具(下)

本文介绍了Linux中make/Makefile的使用,包括makefile的编写规则、预定义变量及清理规则。同时,详细阐述了make的执行过程,强调了编译与链接分开的好处。此外,还探讨了git作为项目版本管理工具的基础操作,如git三板斧、文件上传、信息修改及远程仓库同步。通过示例展示了如何在makefile中定义SRC和OBJ变量,以及如何使用git进行版本控制。
摘要由CSDN通过智能技术生成

五、make/Makefile 项目自动化构建工具

(一)makefile

makefile (Makefile) 是一个文本文件,记录一个项目的构建规则流程

makefile 的编写规则

目标对象:依赖对象
\t 为了生成目标对象所需要执行的命令

创建一个makefile --------> vi makefle

表示要使用已经存在的 test.c 文件生成 test 文件的构建规则:
(其中 test 为目标对象,test.c 为依赖对象)
在这里插入图片描述

makefile 中预定义变量的使用

$@:表示目标对象

$^ :表示依赖对象

$<:表示依赖对象的第一个

%:匹配符

(注:在makefile 中注释使用的是 # )
在这里插入图片描述

(二)make

make 是一个解释程序,对 makefile 中记录的构建规则流程逐步进行解释执行,完成项目的构建

make 与 makefile:

编写 makefile 规则,执行 make 指令的目录下寻找 makefile 文件,然后生成相应的规则:
1、make 查找第一个目标对象,作为终极目标对象(最重要生成的文件),make 在完成了终极目标对象(makefike 第一个目标对象–第一行)的指令之后就会退出
2、检测依赖对象与目标对象之间的关系,判断目标对象是否需要重新生成,若目标对象不存在则需要生成;若在目标对象生成之后依赖对象有了一定的修改则需要重新生成
3、若目标对象要生成,但是依赖对象不存在或需要重新生成,则会查找依赖对象的生成规则,先生成依赖对象

示例:
在这里插入图片描述

make 逐步生成目标对象:
在这里插入图片描述

在这里插入图片描述

make 的执行规则

1、在命令行输入 make 指令,则表示运行 make 解释程序,程序会在当前目录下进行寻找 makefile/Makefile 的文件,解释执行其中的项目构建规则;
在这里插入图片描述

2、在规则中找到第一个要生成的目标对象(判断目标对象是否已经存在,存在则需要重新生成----根据源码文件最后一次修改时间进行对比),然后执行对象生成这一命令;

3、make 每次在 makefile 中只会找到第一个目标对象进行生成,生成之后就会退出(不会去生成第二个目标对象);

4、make 在生成目标对象时会先检查依赖对象的生成规则:
先生成依赖对象,再根据依赖对象生成目标对象
在这里插入图片描述
在这里插入图片描述

注:编译与链接分开进行的好处
在这里插入图片描述

清理规则 make clean

make clean 进行清理
在 makefile 中编写 clean 规则,然后直接在命令行执行 make clean
在这里插入图片描述
在这里插入图片描述

伪对象 .PHONY

与外部的实际文件解除关联关系,声明一个目标对象与外部文件无关,表示每次这个对象不管是否最新都要重新生成

声明 .PHONY
. PHONY:clean 声明 clean 为伪 对象

在这里插入图片描述

$(wildcard ./*.c) 获取所有 .c 结尾文件

在这里插入图片描述

makefile 中 SRC 变量与 OBJ

在这里插入图片描述

六、git 项目版本管理工具

git 项目版本管理工具:为了整理归档项目周期的各个阶段,便于项目的管理(便于出错后回滚)

(一)git 三板斧工具

首先在Linux中查看是否安装了 git 版本工具:
git --version:查看 git 版本信息,若能够查看到 版本信息则说明当前Linux当中已经安装了 git 工具,若检测不到 git 版本则说明未安装 git 工具,需要进行安装
sudo yum install git:安装 git 工具/更新成最新版本

git 三板斧操作:

1、在GitHub上创建远程仓库;

2、将远程仓库克隆到本地:git clone https:// …;

3、提交本次修改记录:
提交所有文件记录:git add --all ./
提交某个文件的记录:git add path/filename

4、提交本地仓库版本信息:git commit -m “修改备注”

5、将本地版本同步到远程仓库:git push origin master (master
是主分支)
在这里插入图片描述

(二)git 的使用

向新创建的git仓库中上传文件信息

初始化空项目(需要切换到 root 管理员用户):

git init
在这里插入图片描述

提交本地修改信息:
git commit -m “备注”

在这里插入图片描述

提交到 git 仓库地址:
git remote add origin https://…

在进一步提交到远程仓库:
git push -u origin master

在这里插入图片描述

此时可以在 git 中查看到上传的文件信息:

在这里插入图片描述

修改git 仓库信息之后重新上传

创建一个 gittt 目录-------> 本地仓库:
在这里插入图片描述

将远程仓库Linux- 克隆到本地仓库(gittt目录下):

git clone https://…在这里插入图片描述

查看到当前Linux- 仓库中包含四个文件信息 :
Makefile、test、test.c、test.exe

修改本地仓库的文件信息(删除 test 文件):

在这里插入图片描述

提交修改记录到本地仓库:
git add --all ./
git commit -m “备注”
在这里插入图片描述

提交到远程仓库Linux- 中:

git push origin master
在这里插入图片描述

再次查看 git 远程仓库中文件信息,可以看到保存的是修改之后的文件信息:

在这里插入图片描述

git 中登录个人账号信息

git config --global user.email “you@example.com” git config --global
user.name “Your Name”

在这里插入图片描述

说明:文中出现的 “https://…” 开头的为自己新建仓库的地址信息

(博客内容全为原创,有任何问题请评论私聊哦~~~~)

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值