[C] Makefile

숭글·2022년 5월 3일
0

과제를 진행하다 Makefile을 작성해야하는 일이 생겼다.
새롭게 알게 된 부분들이 있어 정리하는 글!

// 변수들
CC = gcc
CFLAGS = -Wall -Wextra -Werror
OBJS = ~컴파일 할 파일들~

NAME = ~생성할 파일 명~

//타겟들
all : $(NAME)
	$(CC) $(CFLAGS) -o $^ $(OBJS)  

$(NAME) : $(OBJS)

clean :
	rm -f *.o

fclean : clean
	rm -f $(NAME)

re : fclean all

all은 make명령어를 이용하여 Makefile을 실행할 때 가장 먼저 실행되는 타겟이다.

CC = gcc
CFLAGS = -Wall -Wextra -Werror

SRCS = ./srcs/~컴파일 할.c \
		./srcs/~모든.c \
		./srcs/~c파일.c \
		./srcs/~들.c \
		./srcs/~.c~

OBJS = $(SRCS:.c=.o)

NAME = libft.a

all : $(NAME)

$(NAME) : $(OBJS)
	ar rsc $(NAME) $(OBJS)

%.o : %.c
	$(CC) $(CFLAGS) -I includes -c $< -o $@

clean :
	rm -f $(OBJS)

fclean : clean
	rm -f $(NAME)

re: fclean all

OBJS = $(SRCS:.c=.o)

  • SRCS의 모든 .c를 .o로 치환한다.
    오브젝트 파일과 씨파일을 각각 적어줄 필요가 없게 된다.

make clean, make re의 편함을 알게 됐다..!

profile
Hi!😁 I'm Soongle. Welcome to my Velog!!!

0개의 댓글