-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
43 lines (30 loc) · 901 Bytes
/
Makefile
File metadata and controls
43 lines (30 loc) · 901 Bytes
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
NAME = RM
EXE_DIR = ./
EXE = $(EXE_DIR)$(NAME)
FLAGS = -Wall -Wextra -Werror
SOURCE = main.c shader.c
HEADER = shader.h
INCLUDES = -Iincludes -I$(GLEW_DIR)/include -I$(GLFW_DIR)/include
GLEW_DIR = /usr/local/Cellar/glew/2.1.0_1/
GLFW_DIR = /usr/local/Cellar/glfw/3.3.2/
LIB = -framework OpenGL -lglew -lglfw
LIB_DIR = -L$(GLEW_DIR)lib -L$(GLFW_DIR)lib
VPATH = srcs includes
OBJ = $(SOURCE:.c=.o)
OBJ_DIR = obj/
OBJECT = $(patsubst %.o, $(OBJ_DIR)%.o, $(OBJ))
.PHONY : all clean fclean re
all : $(EXE)
$(EXE) : $(OBJECT)
@echo "\033[1;3;34m"
gcc $(FLAGS) $(OBJECT) -o $@ $(INCLUDES) $(LIB_DIR) $(LIB)
@echo "\033[23;32m--[ "$(NAME) ]-- successfully compiled"\033[0m"
$(OBJ_DIR)%.o : %.c $(HEADER)
@echo "\033[36;3m\c"
gcc $(FLAGS) $(INCLUDES) -c $< -o $@
@echo "\033[0m\c"
clean :
@find $(OBJ_DIR) -type f -not -name '.gitkeep' -delete
fclean : clean
@rm -f $(EXE)
re : fclean all