makefile - 如何使用Makefile隐式规则构建Makefile同一目录下不存在的文件
问题描述
我有以下文件夹结构:
src
file1.c
file2.c
Makefile
- config
file3.c
在 makefile 中,我使用隐式规则来构建所有源文件:
%.o:%.c
$(CC) -c -o $@ $<
我也想构建 file3.c,但我找不到这样做的方法。
任何帮助表示赞赏!
解决方案
简单的方法是为 编写一个明确的规则file3.o
:
file3.o: config/file3.c
$(CC) -c -o $@ $<
优雅的方法是使用vpath
指令,告诉 Make 在哪里搜索源文件:
vpath %.c config
推荐阅读
- html - 将文本放置在 flex 框中的 flex 项下方
- django - 移动特定模板的现代方法是什么?
- r - 在条形图ggplot2中个性化每个方面的填充颜色
- xml - 如果字段中的值为 Null,则需要消除标签
- git - 如何git合并整个文件?
- javascript - 使用Javascript从下拉列表中获取未定义的值/文本
- ms-access - 如何在已经组合了 2 个查询的联合中添加 1 个没有任何匹配的表
- php - 如何使用 Laravel 中的路由将循环下拉值从视图传递到控制器?
- php - 转换为十进制时缺少前导零
- python - 不使用 SerializerMethodField 显示添加的字段