Home Upgrade Search Memberlist Extras Hacker Tools Award Goals Help Wiki Contact

Shell 

[Makefile] No rule to make target...

Hi,

I have a problem with Makefile. He which should compile .c file to an object file only if a .c file has been modified.
But i have an error when i use "all" rule :
Code
make: *** No rule to make target `obj/main.o', needed by `ft_ls'.  Stop.

When i use manually it's works :

Code
clang -Wall -Wextra -Werror -Iinclude -o obj/main.o -c src/main.c
 
My work directory :
Code
Makefile include/*.h  libft/libft.a    src/*.c

Makefile content :
Code
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) $(LDFLAGS) $(LDLIBS) $^ -o $@
   make -C libft

$(OBJ_PATH)%.o: $(SRC_PATH)%.c
   @mkdir $(OBJ_PATH) 2> /dev/null || true
   $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<

clean:
   rm -fv $(OBJ)
   make -C libft clean
   @rmdir $(OBJ_PATH) 2> /dev/null || true

fclean: clean
   rm -fv $(NAME)
   make -C libft fclean

re: fclean all

.PHONY: all, clean, fclean, re

If you have some idea i'll take it  😁
Thx

'/' missing
$(OBJ_PATH)%.o: $(SRC_PATH)%.c ==> $(OBJ_PATH)/%.o: $(SRC_PATH)/%.c
From C137
add directory for obj/main.o
[Image: bitcoin.png] Be Nice For Once 15hVUVz7xA4kazHdk2BuErENGCskVwjYXP
(Dec 13, 2017 08:43 AM)HFDone Wrote:  add directory for obj/main.o

Directory will be create automatically.

But my problem is solved :

'/' missing

$(OBJ_PATH)%.o: $(SRC_PATH)%.c ==> $(OBJ_PATH)/%.o: $(SRC_PATH)/%.c
From C137


Possibly Related Threads...
Thread / Author Replies Views Last Post
[C] by saltycrackerMay 24, 2020 06:21 AM 0 96 May 24, 2020 06:21 AM
Last Post: saltycracker
[C] by g4143Jan 15, 2017 12:58 AM 9 359 Jan 15, 2017 12:58 AM
Last Post: 0xDEAD10CC
[C] by PoLoWOct 17, 2016 11:45 AM 4 161 Oct 17, 2016 11:45 AM
Last Post: PoLoW