📌Makefile
주어진 쉘 명령어들을 조건에 맞게 실행하는 프로그램
target : prerequisites ...
recipe
...
...
- target : make abc에서 abc에 해당
- prerequisites : 주어진 타겟을 make할 때 사용될 파일들의 목록
- recipes : 주어진 타겟을 make할 때 실행할 명령어들의 나열 (반드시 tab하기)
➕변수
SRCS = ft_memset.c ft_bzero.c
OBJS = $(SRCS:.c=.o)
NAME = libft.a
CC = gcc
CF = -Wall -Wextra -Werror
$() 안에 변수를 넣어 사용
➕ 자동 변수
- % : * 과 같은 역할
- $@ : 타겟의 이름
- $< : 의존 파일 목록의 첫번째 파일
- $^ : 의존 파일의 목록 전체 (
$+
: 중복된 파일 이름들까지 모두 포함) - $? : 타겟보다 최신인 의존 파일들
➕ phony
clean 이라는 파일이 디렉토리에 생성된다면 clean파일은 항상 최신이므로 무시하게 된다.
이런 상황을 막기위해 PHONY를 등록한다.
.PHONY : clean
clean :
rm -f $(OBJS) main
반응형
'➰ 코딩 부트캠프 > 42 seoul' 카테고리의 다른 글
[0 Circle] Libft - ft_strlcpy, ft_strlcat (0) | 2020.12.23 |
---|---|
[0 Circle] Libft - ft_memcmp, ft_strlen (0) | 2020.12.23 |
[0 Circle] Libft - ft_memmove, ft_memchr (0) | 2020.12.22 |
[0 Circle] Libft - ft_memcpy, ft_memccpy (3) | 2020.12.22 |
[0 Circle] Libft - ft_memset, ft_bzero (0) | 2020.12.22 |