makefile - Makefile 每次都重新链接
问题描述
我无法弄清楚为什么我的 Makefile 每次都重新链接。有人可以向我解释吗?
这是我的 Makefile :
SRCS = ${wildcard ./srcs/*.c}
OBJS = ${SRCS:.c=.o}
INCL = includes
CC = gcc
CFLAGS = -Wall -Wextra -Werror
NAME = BSQ
.c.o :
${CC} -I ${INCL} ${CFLAGS} -c $< -o ${<:.c=.o}
all : ${OBJS}
${CC} -o ${NAME} ${OBJS}
clean :
rm -f ${OBJS}
fclean : clean
rm -f ${NAME}
re : fclean all
解决方案
因为all
目标没有创建一个名为 的文件all
,所以make
不知道它已经完成了。
您应该all
依赖于${NAME}
,然后添加一个${NAME}
执行链接的目标。
all: ${NAME}
${NAME}: ${OBJS}
${CC} -o $@ $^
推荐阅读
- android-studio - 缺少可绘制预览面板状态选择器
- mysql - 如何重命名 MySQL 的联合引擎服务器名称
- elasticsearch - 我有一台用于弹性搜索的单独机器。它是 500GB,但日志在 24 小时内消耗了全部内存。如何压缩它并释放内存?
- maven - 使用 Bitbucket 管道构建 JavaFx 应用程序
- sql - 多个 AND 和 WHERE IN 条件未按预期计算
- python - 如何从 pyspark 数据框中更快地保存 csv 文件?
- html - 如果父元素在网格列内,则溢出在转换时被禁用
- sql - 有没有办法在某个事件之后识别一个变量的变化
- powershell - 函数内部的 Import-Module,并使其在所有脚本中可用
- reactjs - 如何更改 react-select 中所有元素(边框、文本和箭头)的悬停?