-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
99 lines (85 loc) · 6.29 KB
/
Makefile
File metadata and controls
99 lines (85 loc) · 6.29 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
# ************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: ahabachi <abdelmathinhabachi@gmail.com> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2024/08/19 17:40:12 by ahabachi #+# #+# #
# Updated: 2024/09/24 06:34:37 by ahabachi ### ########.fr #
# #
# ************************************************************************** #
# #
# #
# #
# ██████╗ ██████╗ ███╗ ███╗██████╗ ██╗ ██╗████████╗ ██████╗ ██████╗ #
# ██╔════╝██╔═══██╗████╗ ████║██╔══██╗██║ ██║╚══██╔══╝██╔═══██╗██╔══██╗ #
# ██║ ██║ ██║██╔████╔██║██████╔╝██║ ██║ ██║ ██║ ██║██████╔╝ #
# ██║ ██║ ██║██║╚██╔╝██║██╔═══╝ ██║ ██║ ██║ ██║ ██║██╔══██╗ #
# ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚██████╔╝ ██║ ╚██████╔╝██║ ██║ #
# ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ #
# #
# #
# #
# #
# ************************************************************************** #
# #
# █████████ ██████████ ██████████ ██████████ #
# ██ ██ ██ ██ ██ ██ #
# ██ ██ ██ ██ ██ #
# ██ ██ ██ ██ #
# ██ ██████████ ██████████ ██ #
# ██ ██ ██ ██ #
# ██ ██ ██ ██ #
# ██ ██ ██ ██ #
# ████████ ██████████ ██████████ ██ #
# #
# ************************************************************************** #
.PHONY: clean fclean re push p docker-container
CPP=c++
NAME=computorv2
CPPFLAGS=-Wall -Wextra -Wshadow -Werror
CREATE_DIRECTORY=mkdir -p
REMOVE_FILE=rm -rf
HEADERS_DIR=include
SOURCES_DIR=sources
OBJECTS_DIR=objects
COMPUTORV2_HEADERS := $(COMPUTORV2_HEADERS) $(HEADERS_DIR)/Client.hpp
COMPUTORV2_HEADERS := $(COMPUTORV2_HEADERS) $(HEADERS_DIR)/Object.hpp
COMPUTORV2_HEADERS := $(COMPUTORV2_HEADERS) $(HEADERS_DIR)/Matrix.hpp
COMPUTORV2_HEADERS := $(COMPUTORV2_HEADERS) $(HEADERS_DIR)/OStream.hpp
COMPUTORV2_HEADERS := $(COMPUTORV2_HEADERS) $(HEADERS_DIR)/Complex.hpp
COMPUTORV2_HEADERS := $(COMPUTORV2_HEADERS) $(HEADERS_DIR)/statment.hpp
COMPUTORV2_HEADERS := $(COMPUTORV2_HEADERS) $(HEADERS_DIR)/computorv2.hpp
COMPUTORV2_HEADERS := $(COMPUTORV2_HEADERS) $(HEADERS_DIR)/Polynomial.hpp
COMPUTORV2_HEADERS := $(COMPUTORV2_HEADERS) $(HEADERS_DIR)/UsualFunction.hpp
COMPUTORV2_HEADERS := $(COMPUTORV2_HEADERS) $(HEADERS_DIR)/VirtualMachine.hpp
COMPUTORV2_HEADERS := $(COMPUTORV2_HEADERS) $(HEADERS_DIR)/IndependentVariable.hpp
COMPUTORV2_SOURCES := $(COMPUTORV2_SOURCES) $(SOURCES_DIR)/main.cpp
COMPUTORV2_SOURCES := $(COMPUTORV2_SOURCES) $(SOURCES_DIR)/Client.cpp
COMPUTORV2_SOURCES := $(COMPUTORV2_SOURCES) $(SOURCES_DIR)/Complex.cpp
COMPUTORV2_SOURCES := $(COMPUTORV2_SOURCES) $(SOURCES_DIR)/OStream.cpp
COMPUTORV2_SOURCES := $(COMPUTORV2_SOURCES) $(SOURCES_DIR)/Matrix.cpp
COMPUTORV2_SOURCES := $(COMPUTORV2_SOURCES) $(SOURCES_DIR)/statment.cpp
COMPUTORV2_SOURCES := $(COMPUTORV2_SOURCES) $(SOURCES_DIR)/computorv2.cpp
COMPUTORV2_SOURCES := $(COMPUTORV2_SOURCES) $(SOURCES_DIR)/Polynomial.cpp
COMPUTORV2_SOURCES := $(COMPUTORV2_SOURCES) $(SOURCES_DIR)/UsualFunction.cpp
COMPUTORV2_SOURCES := $(COMPUTORV2_SOURCES) $(SOURCES_DIR)/VirtualMachine.cpp
COMPUTORV2_SOURCES := $(COMPUTORV2_SOURCES) $(SOURCES_DIR)/IndependentVariable.cpp
COMPUTORV2_OBJECTS := $(patsubst $(SOURCES_DIR)/%.cpp, $(OBJECTS_DIR)/%.o, $(COMPUTORV2_SOURCES))
$(OBJECTS_DIR)/%.o: $(SOURCES_DIR)/%.cpp $(COMPUTORV2_HEADERS)
$(CREATE_DIRECTORY) "$(dir $@)"
$(CPP) $(CPPFLAGS) -c $< -o $@
$(NAME): $(COMPUTORV2_OBJECTS) $(COMPUTORV2_HEADERS)
$(CPP) -o $(NAME) $(COMPUTORV2_OBJECTS)
all: $(NAME)
clean:
$(REMOVE_FILE) $(OBJECTS_DIR)
fclean: clean
$(REMOVE_FILE) $(NAME)
push:
git add . && git commit -m "update" && git push
p: push
docker-container:
${sudo} docker run -it -v ${PWD}:/home/computorv2 gcc:latest bash -c "cd '/home/computorv2' && exec bash"
re: fclean all