-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
99 lines (75 loc) · 3 KB
/
Makefile
File metadata and controls
99 lines (75 loc) · 3 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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
NAME = ircserv
HOSTNAME = $(shell hostname)
SRC = main.cpp \
User.cpp \
Server.cpp \
utils.cpp \
Channel.cpp \
commands/EXECUTE.cpp \
commands/NICK.cpp \
commands/CAP.cpp \
commands/PASS.cpp \
commands/USER.cpp \
commands/PING.cpp \
commands/WHO.cpp \
commands/OPER.cpp \
commands/WHOIS.cpp \
commands/JOIN.cpp \
commands/PART.cpp \
commands/TOPIC.cpp \
commands/INVITE.cpp \
commands/KICK.cpp \
commands/KILL.cpp \
commands/MODE.cpp \
commands/PRIVMSG.cpp \
commands/NOTICE.cpp \
commands/BOT.cpp \
commands/QUIT.cpp
PROGRAMVAR := -DHOSTNAME=\"$(HOSTNAME)\"
SRCSPATH = srcs
DEPS = {SRCS:.cpp=.d}
INCLUDES = ./includes/
OBJDIR = all_o
CC = c++
CFLAGS = -MD -Werror -Wall -Wextra -g3 -std=c++98
RM = rm -rf
SRCS = $(addprefix $(SRCSPATH)/,$(SRC))
OBJS = $(addprefix $(OBJDIR)/,${SRC:.cpp=.o})
$(OBJDIR)/%.o: $(SRCSPATH)/%.cpp
@printf "$(_ORANGE)Compiling : %s\n" $<
@mkdir -p $(OBJDIR)
@mkdir -p $(OBJDIR)/commands/
@$(CC) $(CFLAGS) -I $(INCLUDES) $(PROGRAMVAR) -c $< -o $@
all: ${NAME}
${NAME}: ${OBJS}
@${CC} ${CFLAGS} -I $(INCLUDES) ${OBJS} -o ${NAME}
@printf "$(_GREEN)Compiling DONE !\n"
@printf "$(_CYAN)${BANNERPROJECT}\n"
clean:
@printf "$(_RED)Removing objects...\n"
@${RM} ${OBJS} ./all_o/*.o ./all_o/*.d
@${RM} ${OBJS} ./all_o/commands
fclean: clean
@printf "$(_RED)Removing $(NAME)...\n"
@${RM} ${NAME} ./all_o/*.o ./all_o/*. all_o
re: fclean all
-include $(DEPS)
################################################# colors
_WHITE = \e[97m
_CYAN = \033[5;36m
_GREEN = \e[38;5;118m
_ORANGE = \e[38;5;208m
_RED = \e[38;5;196m
_R = \e[0m
#################################################
.PHONY: all clean fclean re
################################################# banner
BANNERPROJECT :=\
\n\
██████╗ ██████╗ ███╗ ███╗███████╗ ████████╗ ██████╗ ██╗██████╗ ██████╗ \n\
██╔════╝██╔═══██╗████╗ ████║██╔════╝ ╚══██╔══╝██╔═══██╗ ██║██╔══██╗██╔════╝ \n\
██║ ██║ ██║██╔████╔██║█████╗ ██║ ██║ ██║ ██║██████╔╝██║ \n\
██║ ██║ ██║██║╚██╔╝██║██╔══╝ ██║ ██║ ██║ ██║██╔══██╗██║ \n\
╚██████╗╚██████╔╝██║ ╚═╝ ██║███████╗ ██║ ╚██████╔╝ ██║██║ ██║╚██████╗ \n\
╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═════╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ \n\
\n\