.mk文件
时间: 2023-08-31 13:05:42 浏览: 105
.mk文件是一个makefile文件,用于描述如何编译和链接一个程序。它通常包含了一系列规则,每个规则描述了如何将一个或多个源文件编译成目标文件,然后链接到一个可执行文件或库中。make工具会读取这个文件,并根据其中的规则来生成目标文件。
一个.mk文件通常包含以下内容:
1. 定义变量:用于保存编译器和链接器的路径、编译选项、源文件和目标文件等信息。
2. 定义规则:用于描述如何将源文件编译成目标文件,并链接到可执行文件或库中。
3. 定义伪目标:用于描述一些特殊的操作,如清空目标文件、打印变量值等。
一个常见的.mk文件示例:
```
CC = gcc
CFLAGS = -Wall -O2
.PHONY: clean
all: program
program: main.o func1.o func2.o
$(CC) -o $@ $^
main.o: main.c
$(CC) $(CFLAGS) -c $< -o $@
func1.o: func1.c
$(CC) $(CFLAGS) -c $< -o $@
func2.o: func2.c
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -f *.o program
```
这个.mk文件定义了三个变量:CC表示编译器的路径,CFLAGS表示编译选项,.PHONY表示伪目标。
它还定义了一个规则all,用于生成可执行文件program。这个规则依赖于三个目标文件main.o、func1.o和func2.o。当这三个目标文件都存在时,make会执行链接操作,生成可执行文件program。
另外,这个.mk文件还定义了三个规则,分别用于将源文件编译成目标文件。每个规则都依赖于一个源文件,当这个源文件被修改时,make会重新编译它。
最后,这个.mk文件还定义了一个伪目标clean,用于清空目标文件。当执行make clean命令时,make会删除所有目标文件和可执行文件。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)