makefile的$<
时间: 2024-01-01 16:06:31 浏览: 30
在Makefile中,$<是一个自动化变量,表示当前规则中的第一个依赖文件的名称。它通常用于生成目标文件的命令中,表示编译器需要编译的源文件的名称。例如,在以下规则中:
```
main.o: main.c utils.h
gcc -c -o $@ $<
```
$<表示main.c,表示编译器需要编译的源文件是main.c。
相关问题
makefile$<
在Makefile中,$<是一个自动化变量,表示当前规则的第一个依赖文件。在上述的例子中,$<可以代表当前规则中的.cpp文件。例如,在规则.c.o中,$<表示相应的.c文件。
#### 引用[.reference_title]
- *1* [从零开始学习makefile(4)makefile中%、$@、$<、$^的作用](https://blog.csdn.net/liji_digital/article/details/127425862)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Makefile:自动化变量 $@,$^,$<,$?](https://blog.csdn.net/Fly_as_tadpole/article/details/107565275)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Makefile入门二、理解$@、$^和$](https://blog.csdn.net/hjxu2016/article/details/101699484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
makefile的 $@ $<的作用
在Makefile中,$@和$<是自动化变量,它们分别表示当前规则中的目标文件和依赖文件中的第一个文件。
$@表示当前规则中的目标文件,用于表示当前构建的目标文件名,可以看作是“目标”或“规则”的名称。
$<表示当前规则中的依赖文件中的第一个文件,用于表示当前需要构建的依赖文件名,可以看作是“依赖关系”中的名称。
例如,如果有一个规则如下:
```
target: dependency
command
```
其中,target是目标文件,dependency是依赖文件,command是构建目标文件的命令。此时,$@表示目标文件的名称target,$<表示依赖文件的名称dependency。
在Makefile中,使用$@和$<可以方便地引用当前规则中的目标文件和依赖文件,避免了手动输入文件名的繁琐操作。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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)