快速入门linux下的makfile文件 shell脚本编写

在上学期老师让我们编写makefile文件,记得当时在网上找了一会,虽然能实现,但是发现网上很多都讲得及其模糊(可能是当时自己太菜),故在此写下一篇只要对linux命令行有所了解的人都能看懂的makefile文件。
首先要知道linux下的gcc命令 如一个c代码文件cpp1.c 运行gcc -c cpp1.c将会产生一个cpp1.o文件,当然这个文件既不是我们能看懂的文件,也不是机器能运行的文件,要产生机器能运行的文件,还需运行 gcc cpp1.o -o cpp1命令,将cpp1.o文件转成可执行文件cpp1,当然可以直接用gcc - o命令直接生成可执行性文件,但为了使大家能更清楚的知悉makefile的编写模式,故在此分为如下两步进行。一:把一堆(示例仅用到了两个).c文件编译成一堆.o文件。二:把.o文件链接成可执行的二进制可执行文件。当然,最后可以写个clean来执行删除中间文件(.o)文件。下面附上代码

all:cpp1.o cpp2.o
	gcc cpp1.o -o cpp1
	gcc cpp2.o -o cpp2
cpp1.o:cpp1.c
	gcc -c cpp1.c
cpp2.o:cpp2.c
	gcc -c cpp2.c

vim Makefile命令创建makefilke文件并将以上代码输入,运行make ,便可得文件cpp1.o cpp2.o cpp1 cpp2 如下所示
在这里插入图片描述
在这里插入图片描述
先看源代码图片。上面蓝色字体all cpp1.o cpp2.o cll为目标 紧接在目标后的为源文件,即已经存在的文件,紫色为命令语句,俗称加工方法,这里要注意,加工方法之前为TAB,不可用多个空格替换。make命令,即make all 命令(all也可以改为其他,这点请自行百度)即可运行所有加工方法,可以发现all值后的两个文件一开始并不存在,但是后面有生成,且makefile运行为从下往上,故cpp1.o cpp2.o 也可以看成原料文件。

现在讲解上面的cll ,正规写法应该为clean,但是为了演示make指令 故发生了更换。运行完make后,会产生多余的.o文件,于是我们在cll中写上方法rm(删除) 值后运行make cll 效果如下
在这里插入图片描述
可以看到文件已经被删除。
Makefile编写到此结束,下面将简单shell脚本编写。其实要理解shell编写并不难,难的是编写的方法,简单讲就是写一个文件.sh也可以不加.sh,但习惯性把文件后缀写成这样),然后./这个文件运行,其中文件里面写了各种命令和函数。所以,最简单的shell脚本可以里面只有一个命令ls ,或者加上date显示时间。但是要注意,此时你./这个文件是会报错的,因为此文件默认没有x权限,即不可执行,此时得chmod一下他(chmod命令我之前的博客有写),再运行,一个最简单的shell脚本就被你写好了。
至于makefile和shell有什么用,在此篇博客将不再展开论述,相信各大书刊或者网上随便搜索一下就能知晓了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值