명령어 등등

Makefile에 .obj 폴더 생성하기

mcdn 2021. 6. 23. 14:05
반응형
NAME =  philo
SRC	 =  main.c \
		error.c \
		ft_libft.c 

OBJ_NAME  = $(SRC:.c=.o)
OBJ_PATH = ./obj
OBJ = $(addprefix $(OBJ_PATH)/, $(OBJ_NAME))

all : $(NAME)

$(NAME): $(OBJ)
	gcc -Wall -Wextra -Werror $^ -o $@

$(OBJ_PATH)/%.o : %.c
	mkdir ./obj 2> /dev/null || true
	gcc -Wall -Wextra -Werror -o $@ -c $<

re : fclean all

clean :
	rm -rf $(OBJ_NAME)
	rm -rf $(OBJ_PATH)

fclean : clean
	rm -rf $(NAME)

다만  mkdir ./obj 2 > dev/null || true 

줄이 매번 실행됨 

 

이건 어떻게 해결할지.. 

 

그리고 $.o : $.c 

앞에 $(OBJ_PATH) 붙이는거 매우 중요하다 

 

clean 할 때 .obj 폴더를 지우게 하는 것도!! 

 

반응형