<aside> 🔥 읽는 데 약 1~2분!

</aside>

코드

# wildcard가 금지된 경우 SRCS는 적절히 수정 후 사용
SRCS := $(wildcard *.cpp)
NAME := $(SRCS:.cpp=.out)
CXXFLAGS := -Wall -Wextra -Werror -std=c++98

all: $(NAME)
%.out: %.o
	$(CXX) $(LDFLAGS) -o $@ $<
fclean: clean
	rm -f $(NAME)
re: fclean
	$(MAKE) all
.PHONY: all clean fclean re

기능

clean이 없는 이유

코드를 자세히 읽어본다면 clean이 없는 것을 확인할 수 있는데요,

GNU Make는 중간 과정으로 생성되는 임시 파일을 알아서 삭제해주기 때문에 clean이 따로 필요하지 않습니다.

make 도중 ctrl+c로 멈춰도 알아서 main.o가 삭제되는 모습

make 도중 ctrl+c로 멈춰도 알아서 main.o가 삭제되는 모습