forked from estarossa0/webserv
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
65 lines (52 loc) · 2.17 KB
/
Makefile
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
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: obouykou <[email protected]> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2020/05/18 16:04:41 by arraji #+# #+# #
# Updated: 2021/06/30 11:56:43 by obouykou ### ########.fr #
# #
# **************************************************************************** #
NAME = webserv
FLAGS = -Wall -Wextra -Werror
#FOLDERS
SRC_FOLDER = ./srcs
HEADER_FOLDER = ./includes
OBJECT_FOLDER = ./objects
LIBS =
#COLORS
RED = \033[0;31m
GREEN = \033[0;32m
GOLD = \033[0;33m
RESET = \033[0m
#FILES
SRC_FILES = main.cpp \
Server.cpp \
Connection.cpp \
Webserv.cpp \
Request.cpp \
Response.cpp \
ConfigParser.cpp \
Location.cpp \
ServerData.cpp \
cgi.cpp \
outputLogs.cpp \
OBJECT_FILES = $(SRC_FILES:.cpp=.o)
OBJECT_FILES := $(addprefix $(OBJECT_FOLDER)/, $(OBJECT_FILES))
# .PHONY = all clean fclean re credit
all: $(NAME)
$(NAME): $(OBJECT_FILES)
@clang++ -g -I $(HEADER_FOLDER) $(OBJECT_FILES) $(LIBS) -o $@
@echo
@echo $(NAME)" created $(GREEN)successfully$(RESET)"
$(OBJECT_FOLDER)/%.o: $(SRC_FOLDER)/%.cpp $(HEADER_FOLDER)/*.hpp
@(mkdir $(OBJECT_FOLDER) 2> /dev/null && echo "creating "$(OBJECT_FOLDER)" folder $(GREEN){OK}$(RESET)") || true
@clang++ $(FLAGS) -g -I $(HEADER_FOLDER) -o $@ -c $< && echo "creating" $< "object $(GREEN){OK}$(RESET)"
clean:
@(rm $(OBJECT_FILES) 2> /dev/null && echo "$(RED)deleting$(RESET): " $(OBJECT_FILES)) || true
@(rm -r $(OBJECT_FOLDER) 2> /dev/null && echo "$(RED)deleting$(RESET): " $(OBJECT_FOLDER)) || true
fclean: clean
@(rm $(NAME) 2> /dev/null && echo "$(RED)deleting$(RESET): " $(NAME)) || true
re: fclean $(NAME)