Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
76 lines (54 loc) · 1.42 KB
/
Copy pathMakefile
File metadata and controls
76 lines (54 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
NAME := ft_irc
BOT_NAME := ircbot
HEADERS := inc
BOT_HEADERS := -Ibot \
-Ibot/commands
SRC_DIR := src
BOT_DIR := bot
BOT_COMMAND_DIR := $(BOT_DIR)/commands
BUILD_DIR := build
BOT_BUILD_DIR := $(BUILD_DIR)/bot
SRCS := \
$(SRC_DIR)/main.cpp \
$(SRC_DIR)/Server.cpp \
$(SRC_DIR)/Client.cpp \
$(SRC_DIR)/CommandHandler.cpp \
$(SRC_DIR)/Channel.cpp \
$(SRC_DIR)/ChannelManager.cpp
BOT_SRCS := \
$(BOT_DIR)/main.cpp \
$(BOT_DIR)/Bot.cpp
INCS := \
-I$(HEADERS)
BOT_INCS := $(BOT_HEADERS)
OBJS := $(SRCS:.cpp=.o)
BOT_OBJS := $(BOT_SRCS:.cpp=.o)
OBJ_FILES := $(addprefix $(BUILD_DIR)/, $(notdir $(OBJS)))
BOT_OBJ_FILES := $(addprefix $(BOT_BUILD_DIR)/, $(notdir $(BOT_OBJS)))
CXX := c++
CXXFLAGS := -Wall -Werror -Wextra -std=c++98 $(INCS)
LDXXFLAGS :=
.PHONY: all clean fclean re libft mlx
all: $(NAME)
bot: $(BOT_NAME)
bonus: $(NAME) $(BOT_NAME)
$(BOT_NAME): $(BOT_BUILD_DIR) $(BOT_OBJ_FILES)
$(CXX) $(BOT_OBJ_FILES) $(LDXXFLAGS) -o $(BOT_NAME)
$(NAME): $(BUILD_DIR) $(OBJ_FILES)
$(CXX) $(OBJ_FILES) $(LDXXFLAGS) -o $(NAME)
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
$(BOT_BUILD_DIR):
mkdir -p $(BOT_BUILD_DIR)
$(BOT_BUILD_DIR)/%.o: $(BOT_COMMAND_DIR)/%.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
$(BOT_BUILD_DIR)/%.o: $(BOT_DIR)/%.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
clean:
rm -rf $(BUILD_DIR)
fclean: clean
rm -f $(NAME)
rm -rf $(BOT_NAME)
re: fclean all