Linux学习笔记(八)

还有81天!

连续两天都不想写笔记了,这两天都在学makefile,内容太多,没时间搞lua,这篇先存着了

今天把makefile综合了一下,老师布置了一道题,下面是题目以及解法:

1、有如下文件,分别位于3个不同的文件中 adir/:a.h a.c bdir/:b.h b.c main/:main.c bin/:
(1)分别在3个文件中编写makefile,
(2)总控makefile在当前目录中 
(3)生成的可自行文件放在bin目录中




首先新建四个目录
mkdir adir bdir main bin
其次在各个目录下添加.c文件和.h文件并给他们加上初始代码
这里演示省略b文件(与a一样)
touch a.c a.h
a.h:#include <stdio.h> 
a.c:#include "a.h"
main.c:#include <stdio.h> 
	int mian()
	{
		printf("Hello");
		return 0;
	}
接着给各个目录写上makefile文件
adir/makefile:
test : a.o
#生成一个a.o文件并移动到main文件夹下
	mv a.o ../main/
#给a.o添加依赖,a.c由于隐晦规则省略
a.o : a.h 
main/makefile
test : main.bin
#把main.bin移动到bin目录下
	mv main.bin ../bin/
#给main.bin添加依赖
mian.bin : main.c a.o b.o
#对main.c a.o b.o编译生成main.bin文件
	gcc -o main.bin main.c a.o b.o
最后在主目录下写全局makefile文件
all : 
#移动到下级目录并执行make命令
	cd adir && $(MAKE)
	cd bdir && $(MAKE)


	cd main && $(MAKE)


#指向删除命令
clean:
	
	cd bin && rm main.bin


	cd main && rm a.o b.o






	
	

题目不难,但是把这两天的makefile的功能综合了一下,明天是学习makefile的最后一天,之后就是网络编程了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值