-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
69 lines (55 loc) · 1.41 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
NAME := libvec.a
### ### COMPILER ### ###
CC := "cc"
CFLAGS := -Wall -Wextra -Werror
### ### SOURCES ### ###
SRC := ft_add_vectors.c
SRC += ft_abs_vector.c
SRC += ft_are_equal_vectors.c
SRC += ft_subtract_vectors.c
SRC += ft_multiply_vectors.c
SRC += ft_multiply_vector_by_scalar.c
SRC += ft_divide_vector_by_scalar.c
SRC += ft_dot_product.c
SRC += ft_cross_product.c
SRC += ft_normalize_vector.c
SRC += ft_random_vector.c
SRC += ft_random_vector_in_unit_sphere.c
SRC += ft_random_vector_in_hemisphere.c
SRC += ft_new_vector.c
SRC += ft_invert_vector.c
SRC += ft_length_vector.c
SRC += ft_length_squared.c
SRC += ft_print_vector.c
SRC += ft_xorshift_random.c
SRC += ft_lcg_random.c
SRC += ft_xslcg_random.c
### ### OBJECTS ### ###
OBJ_D := ./obj
SRCOBJ := $(patsubst %.c,$(OBJ_D)/%.o,$(SRC))
### ### COLORS ### ###
RED = \033[1;31m
GREEN = \033[1;32m
YELL = \033[1;33m
BLUE = \033[1;34m
WHITE = \033[0m
### ### RULES ### ###
all: $(OBJ_D) $(NAME)
$(NAME): $(SRCOBJ)
@ar -rcs $(NAME) $^
@echo "$(RED)--->$(BLUE)Libvec is compiled.$(WHITE)"
$(OBJ_D)/%.o: %.c message
@$(CC) $(CFLAGS) -c $< -o $@
message:
@echo "$(BLUE)--->$(GREEN)Compiling C Files .....$(WHITE)"
$(OBJ_D):
@mkdir $@
clean:
@/bin/rm -rf $(OBJ_D) libvec.h.gch
fclean: clean
@if [ -f "$(NAME)" ]; then \
/bin/rm -f $(NAME); \
fi;
re: fclean all
.PHONY: all clean fclean re
.INTERMEDIATE: message