읽는 데 약 1~2분!
코드
# 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
Makefile
복사
기능
•
42 과제의 C++ 과제에서 요구하는 -Wall -Wextra -Werror -std=c++98 플래그를 모두 사용
•
Norm에서 요구하는 all clean fclean re 규칙 모두 지원
clean이 없는 이유
코드를 자세히 읽어본다면 clean이 없는 것을 확인할 수 있는데요,
GNU Make는 중간 과정으로 생성되는 임시 파일을 알아서 삭제해주기 때문에 clean이 따로 필요하지 않습니다.
make 도중 ctrl+c로 멈춰도 알아서 main.o가 삭제되는 모습