小编Dra*_*Bug的帖子

Makefile:没有规则来制作目标

我有Makefile的问题.仅当.c文件已被修改时,它才应将.c文件编译为目标文件.但是当我使用all规则时出错:

make: *** No rule to make target `obj/main.o', needed by `ft_ls'.  Stop.
Run Code Online (Sandbox Code Playgroud)

我手动使用它的工作原理:

clang -Wall -Wextra -Werror -Iinclude -o obj/main.o -c src/main.c
Run Code Online (Sandbox Code Playgroud)

我的工作目录:

Makefile include/*.h  libft/libft.a    src/*.c
Run Code Online (Sandbox Code Playgroud)

Makefile内容:

NAME = ft_ls
SRC_PATH = src
OBJ_PATH = obj
CPPFLAGS = -Iinclude
LDFLAGS = -Llibft
LDLIBS = -lft
CFLAGS = -Werror -Wall -Wextra
CC = clang
SRC_NAME = main.c\
     ft_type.c\
     ft_right.c\
     ft_putright.c\
     ft_date_converter.c
OBJ_NAME = $(SRC_NAME:.c=.o)
SRC = $(addprefix $(SRC_PATH)/,$(SRC_NAME))
OBJ = $(addprefix $(OBJ_PATH)/,$(OBJ_NAME))

all: $(NAME)

$(NAME): $(OBJ)
   $(CC) …
Run Code Online (Sandbox Code Playgroud)

linux makefile

1
推荐指数
1
解决办法
239
查看次数

标签 统计

linux ×1

makefile ×1