Linux下C编程基础之:实验内容

时间:2013-09-13来源:网络

3.7.3编写包含多文件的makefile

1.实验目的

通过对包含多文件的makefile的编写,熟悉各种形式的makefile,并且进一步加深对makefile中用户自定义变量、自动变量及预定义变量的理解。

2.实验过程

(1)用vi在同一目录下编辑两个简单的hello程序,如下所示:

#hello.c

#includehello.h

intmain()

{

printf(Helloeveryone!n);

}

#hello.h

#includestdio.h>

(2)仍在同一目录下用vi编辑makefile,且不使用变量替换,用一个目标体实现(即直接将hello.c和hello.h编译成hello目标体)。然后用make验证所编写的makefile是否正确。

(3)将上述makefile使用变量替换实现。同样用make验证所编写的makefile是否正确。

(4)编辑另一个makefile,取名为makefile1,不使用变量替换,但用两个目标体实现(也就是首先将hello.c和hello.h编译为hello.o,再将hello.o编译为hello),再用make的“-f”选项验证这个makefile1的正确性。

(5)将上述makefile1使用变量替换实现。

3.实验步骤

(1)用vi打开上述两个代码文件“hello.c”和“hello.h”。

(2)在shell命令行中用gcc尝试编译,使用命令:“gcchello.c–ohello”,并运行hello可执行文件查看结果。

(3)删除此次编译的可执行文件:rmhello。

(4)用vi编辑makefile,如下所示:

hello:hello.chello.h

gcchello.c-ohello

(5)退出保存,在shell中键入:make,查看结果。

(6)再次用vi打开makefile,用变量进行替换,如下所示:

OBJS:=hello.o

CC:=gcc

hello:$(OBJS)

$(CC)$^-o$@

(7)退出保存,在shell中键入make,查看结果。

(8)用vi编辑makefile1,如下所示:

hello:hello.o

gcchello.o-ohello

hello.o:hello.chello.h

gcc-chello.c-ohello.o

(9)退出保存,在shell中键入:make-fmakefile1,查看结果。

(10)再次用vi编辑makefile1,如下所示:

OBJS1:=hello.o

OBJS2:=hello.chello.h

CC:=gcc

hello:$(OBJS1)

$(CC)$^-o$@

$(OBJS1):$(OBJS2)

$(CC)-c$-o$@

在这里请注意区别“$^”和“$”。

(11)退出保存,在shell中键入make-fmakefile1,查看结果。

4.实验结果

各种不同形式的makefile都能正确地完成其功能。

1 2 3 4

关键词: C编程 实验 Linux VI

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版