-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathMakefile
74 lines (52 loc) · 1.35 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
NAME = cub3D
MSG = make.msg
INC = /usr/include
INCFT = libft/includes
INCFTLIB = libft
# Commented for home dev (uncomment before commit)
# INCLIB =$(INC)/../lib
INCLIB = .
UNAME := $(shell uname)
CFLAGS = -Wall -Werror -Wextra -I$(INC) -O3 -I${INCFT} -Iincludes -g
LFLAGS = -lmlx -L$(INCLIB) -lXext -lX11 -lm -L${INCFTLIB} -lft
SRC = $(wildcard src/*.c src/*/*.c)
OBJ = $(SRC:%.c=%.o)
RM = rm -f
ifeq ($(UNAME), Darwin)
CC = gcc
LFLAGS = -lmlx -L$(INCLIB) -framework OpenGL -framework AppKit -L${INCFTLIB} -lft
else ifeq ($(UNAME), FreeBSD)
CC = clang
else
CC = gcc
CFLAGS += -D LINUX
LFLAGS += -lbsd
endif
all: $(NAME)
$(NAME): runlibft $(OBJ)
$(CC) -o $(NAME) $(OBJ) $(LFLAGS)
show:
@printf "UNAME : $(UNAME)\n"
@printf "NAME : $(NAME)\n"
@printf "CC : $(CC)\n"
@printf "CFLAGS : $(CFLAGS)\n"
@printf "LFLAGS : $(LFLAGS)\n"
@printf "SRC : $(SRC)\n"
@printf "OBJ : $(OBJ)\n"
runlibft:
@make -C libft --no-print-directory
norm:
norminette -R CheckForbiddenSourceHeader ${SRC}
norminette -R CheckDefine includes/fractol.h includes/config.h
info:
@make -f $(MSG) msglibft --no-print-directory
@make -f $(MSG) msgft_mlx --no-print-directory
clean:
${RM} $(OBJ)
fclean:
@make -C libft fclean --no-print-directory
@make clean
${RM} ${NAME}
run: all
./cub3D tools/maps/map1.cub | cat -e > trace.txt
re: fclean all info