-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
90 lines (62 loc) · 1.72 KB
/
Makefile
File metadata and controls
90 lines (62 loc) · 1.72 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
SRC = $(addsuffix .c, \
$(addprefix src/, \
main \
options \
scans \
sender \
parsing \
utils \
setup \
scanner \
listener \
threads \
packet_handler \
filter \
routine \
show_results \
interpreters \
))
NAME = ft_nmap
SHELL = /bin/zsh
OBJ = ${SRC:src/%.c=.obj/%.o}
CC = gcc
LIBFT = libft/libft.a
INCLUDE = -Iinclude/ -Ilibft/include
CFLAGS = -Wall -Werror -Wextra -lpcap -lpthread -pipe ${INCLUDE} -O3 -g3 #-fsanitize=address
all: __watermark ${LIBFT} ${NAME}
${LIBFT}:
@if [[ -f ${LIBFT} ]] ; \
then; \
echo "libft already compiled"; \
else; \
echo "Compiling libft"; \
make --silent -C libft >/dev/null; \
echo "${LIBFT} compiled"; \
fi;
.obj/%.o: src/%.c
@${CC} ${CFLAGS} -c $< -o ${<:src/%.c=.obj/%.o}
${NAME}: ${OBJ}
@echo "Compiling ${NAME}"
@${CC} ${OBJ} ${LIBFT} ${CFLAGS} -o ${NAME}
@echo "${NAME} compiled"
__watermark:
@echo -e "\033[42m __ ____ _____ _____ \033[0m"
@echo -e "\033[42m \\ \\ | \\ \\___ \\ \\___ \\ \033[0m"
@echo -e "\033[42m \\ \\ \\ |\\ \\ _\\ \\ _\\ \\ \033[0m"
@echo -e "\033[42m \\ \\ \\ \\\\\\ \\ \\__ \\ \\__ \\ \033[0m"
@echo -e "\033[42m \\ \\ \\ \\| \\ __\\ \\ __\\ \\ \033[0m"
@echo -e "\033[42m \\_\\ \\____| \\____\\ \\____\\ \033[0m"
@echo -e "\033[42m \033[0m\n"
decoder:
@${CC} ${CFLAGS} -o decoder src/decoder.c
clean:
@make --silent -C libft clean >/dev/null
@rm -rf ${OBJ}
fclean:
@make --silent -C libft fclean >/dev/null
@rm -rf ${OBJ} ${NAME}
__re_fclean:
@make --silent -C libft clean >/dev/null
@rm -rf ${OBJ} ${NAME}
re: __re_fclean all
.PHONY: all __watermark ${LIBFT} clean flcean __re_fclean re