CPP01 1.0
読み取り中…
検索中…
一致する文字列を見つけられません
Makefile
[詳解]
1# **************************************************************************** #
2# #
3# ::: :::::::: #
4# Makefile :+: :+: :+: #
5# +:+ +:+ +:+ #
6# By: kamitsui <kamitsui@student.42tokyo.jp> +#+ +:+ +#+ #
7# +#+#+#+#+#+ +#+ #
8# Created: 2025/03/15 19:38:29 by kamitsui #+# #+# #
9# Updated: 2025/04/25 21:23:09 by kamitsui ### ########.fr #
10# #
11# **************************************************************************** #
12
13# @file ex00/Makefile
14# @brief This File is a Makefile for building BraiiiiiiinnnzzzZ in ex00 directory.
15
16# Directories
17OBJ_DIR = objs
18DEP_DIR = .deps
19
20# Source files
21SRCS = \
22 main.cpp \
23 Zombie.cpp \
24 newZombie.cpp \
25 randomChump.cpp
26
27# Object files and dependency files
28OBJS = $(addprefix $(OBJ_DIR)/, $(SRCS:.cpp=.o))
29DEPS = $(addprefix $(DEP_DIR)/, $(SRCS:.cpp=.d))
30
31# Build target
32NAME = BraiiiiiiinnnzzzZ
33
34# Compiler
35CXX = c++
36CXXFLAGS = -Wall -Wextra -Werror -std=c++98
37CF_DEP = -MMD -MP -MF $(@:$(OBJ_DIR)/%.o=$(DEP_DIR)/%.d)
38
39# Rules for building object files
40$(OBJ_DIR)/%.o: %.cpp
41 @mkdir -p $(OBJ_DIR)
42 @mkdir -p $(DEP_DIR)
43 $(CXX) $(CXXFLAGS) $(CF_DEP) -c $< -o $@
44
45$(DEP_DIR)/%.d: %.c
46 @mkdir -p $(DEP_DIR)
47
48# Default target
49all: $(NAME)
50
51# Target
52$(NAME): $(OBJS)
53 $(CXX) $(CXXFLAGS) $(OBJS) -o $(NAME)
54
55clean:
56 rm -rf $(OBJ_DIR) $(DEP_DIR)
57
58fclean: clean
59 rm -f $(NAME)
60
61re: fclean all
62
63.PHONY: all clean fclean re