假定在目录/home/emb下有一个C程序工程,由几个单独的文件组成,而这 几个文件又分别包含了其他文件,如下图所示:“ 程序文件一main.co input.ce block.ce output.ca output.hea 包含文件 input.h, block. h, output.hea input.h, stdlib.he block.he output.h, types.hee block.ha 完成下列任务:e (1) 编写makefile文件来控制编译生成最终的目标,最终的目标 文件为hello,用的编译器为编译器gcc
时间: 2023-04-08 16:05:20 浏览: 283
嵌入式系统/ARM技术中的研扬科技发布一款经济型Mini-ITX嵌入式母板——EMB-820T
好的,我可以回答这个问题。以下是makefile文件的内容:
```
CC = gcc
CFLAGS = -Wall
hello: main.o input.o block.o output.o
$(CC) $(CFLAGS) -o hello main.o input.o block.o output.o
main.o: main.c input.h block.h output.h
$(CC) $(CFLAGS) -c main.c
input.o: input.c input.h
$(CC) $(CFLAGS) -c input.c
block.o: block.c block.h
$(CC) $(CFLAGS) -c block.c
output.o: output.c output.h
$(CC) $(CFLAGS) -c output.c
clean:
rm -f hello *.o
```
这个makefile文件定义了编译器为gcc,最终的目标文件为hello。它包含了四个.o文件的依赖关系,分别是main.o、input.o、block.o和output.o。每个.o文件都有对应的.c文件和头文件依赖关系。最后,它还定义了一个clean规则,用于删除生成的目标文件和中间文件。
阅读全文