我不知道为什么我的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
答案 0 :(得分:3)
由于all
目标未创建名为all
的文件,因此make
不知道它已经完成。
您应使all
依赖于${NAME}
,然后为执行链接的${NAME}
添加一个目标。
all: ${NAME}
${NAME}: ${OBJS}
${CC} -o $@ $^