C09

김원호·2023년 8월 10일

42seoul

목록 보기
10/10

Makefile

CC = Gcc
CFLAGS = -Wall -Wextra -Werror
NAME = libft.a
INCLUDE = ./includes
DIR = ./srcs
SRCS = ft_putchar.c ft_swap.c ft_putstr.c ft_strlen.c ft_strcmp.c
OBJS = $(SRCS:.c=.o)
OBJECTS = $(patsubst %.o, srcs/%.o, $(OBJS))

all : $(NAME)

$(DIR)/%.o : $(DIR)/%.c
$(CC) $(CFLAGS) -I $(INCLUDE) -c $^ -o $@

$(NAME) : $(OBJECTS)
ar rcs $@ $^

clean:
rm -f $(OBJECTS)

fclean: clean
rm -f $(NAME)

re: fclean all

.PHONY: all clean fclean re

컴파일 옵션들을 정하고 소스파일, 오브젝트파일, 헤더파일 등의 경로를 정해놓고 디렉토리에서 make만 써서 빠르게 컴파일하고, 소스파일들을 관리할 수 있게 해주는 고마운 기능

목적파일 : 의존파일
$@ : 목적파일

$^ : 의존파일 모두

$< : 의존파일 중 맨 처음거

처음엔 고마운줄도 모르고 어려워서 힘들었는데 한번 써보니까 이후 과제부터 계속 사용했다.

1개의 댓글

comment-user-thumbnail
2023년 8월 10일

좋은 정보 감사합니다

답글 달기