This repository has been archived by the owner on Jun 1, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
83 lines (65 loc) · 2.3 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
##
## Makefile for makefile in /home/jsx/Epitech/tek2/C++2/plazza/cpp_plazza/
##
## Made by jsx
## Login <jean-sebastien.herbaux@epitech.eu>
##
## Started on Mon Apr 10 18:29:33 2017 jsx
## Last update Fri Apr 28 10:45:40 2017 jsx
##
NAME = plazza
CC = g++
RM = rm -f
CXXFLAGS = -W -Wall -Wextra -Werror -std=c++14 -fPIC \
CXXFLAGS += -I./Srcs/Objects/Scrapper \
-I./Srcs/Objects/Core/ \
-I./Srcs/Objects/Engine/ \
-I./Srcs/Objects/ThreadPool/ \
-I./Srcs/Objects/Task/ \
-I./Srcs/Objects/TaskResult/ \
-I./Srcs/Objects/LoadBalancing/ \
-I./Srcs/Objects/Date/ \
-I./Srcs/Interfaces/ \
-I./Srcs/Abstracts/ \
-I./Srcs/Modules/ \
-I./Libs/ \
LDFLAGS = -ldl -L./Libs/ -lconcurrency -lutils -pthread
SRC = ./Srcs/main.cpp \
./Srcs/Objects/Scrapper/Scrapper.cpp \
./Srcs/Objects/Task/Task.cpp \
./Srcs/Objects/TaskResult/TaskResult.cpp \
./Srcs/Objects/Date/Date.cpp \
./Srcs/Objects/Core/Core.cpp \
./Srcs/Objects/Engine/Engine.cpp \
./Srcs/Objects/LoadBalancing/LoadBalancing.cpp \
./Srcs/Objects/ThreadPool/ThreadPool.cpp \
OBJ = $(SRC:.cpp=.o) \
all: basis $(NAME)
basis:
make -C ./Libs/Bin/Utils/
make -C ./Libs/Bin/Concurrency/
$(NAME): $(OBJ)
$(CC) $(OBJ) $(CXXFLAGS) -o $(NAME) $(LDFLAGS)
make -C ./Srcs/Objects/UI/
@printf "\033[0;32mPlazza compiled successfully !\n\033[0m"
ui: basis $(OBJ)
$(CC) $(OBJ) $(CXXFLAGS) -o $(NAME) $(LDFLAGS)
make -C ./Srcs/Objects/GUI/
@printf "\033[0;32mPlazza compiled successfully !\n\033[0m"
reui: fclean ui
cleanbasis:
$(RM) $(OBJ)
clean: cleanbasis
make clean -C ./Libs/Bin/Concurrency/
make clean -C ./Libs/Bin/Utils/
make clean -C ./Srcs/Objects/UI/
make clean -C ./Srcs/Objects/GUI/
fclean: clean
$(RM) $(NAME)
make fclean -C ./Libs/Bin/Concurrency/
make fclean -C ./Libs/Bin/Utils/
make fclean -C ./Srcs/Objects/UI/
make fclean -C ./Srcs/Objects/GUI/
re: fclean all
%.o : %.c
$(CC) $(CXXFLAGS) -c $< -o $@