-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
51 lines (37 loc) · 1.57 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
# **************************************************************************** #
# GENERIC_VARIABLES
OBJ_DIR = build
# **************************************************************************** #
# COMPILER_OPTIONS
C_COMPILER = clang
C_STANDART =
C_CFLAGS = $(CFLAGS) $(CPPFLAGS) -Wall -Wextra -Werror
C_LFLAGS = $(CFLAGS) $(CPPFLAGS) -Wall -Wextra -Werror
# **************************************************************************** #
# FT_TRACEROUTE TARGET DESCRIPTION
FT_TRACEROUTE_NAME = ft_traceroute
FT_TRACEROUTE_PATH = .
FT_TRACEROUTE_FILE = build/ft_traceroute
FT_TRACEROUTE_SRCS = dns_resolvers.c initialize_context.c main.c process_trace.c send_icmp_msg_v4.c send_udp_trcrt_msg_v4.c
FT_TRACEROUTE_OBJS = $(patsubst %, $(OBJ_DIR)/%.o, $(FT_TRACEROUTE_SRCS))
FT_TRACEROUTE_DEPS = $(patsubst %, $(OBJ_DIR)/%.d, $(FT_TRACEROUTE_SRCS))
FT_TRACEROUTE_LIBS =
FT_TRACEROUTE_INCS =
# **************************************************************************** #
# GENERIC RULES
.PHONY: all re clean fclean
.DEFAULT_GOAL = all
all: $(FT_TRACEROUTE_FILE)
clean:
@rm -rf $(OBJ_DIR)
fclean: clean
@rm -rf $(FT_TRACEROUTE_FILE)
re: fclean all
$(FT_TRACEROUTE_FILE): $(FT_TRACEROUTE_OBJS)
@$(C_COMPILER) $(C_LFLAGS) $(C_STANDART) -o $(FT_TRACEROUTE_FILE) $(FT_TRACEROUTE_OBJS) $(FT_TRACEROUTE_LIBS)
@printf 'Finished \033[1;32m\033[7m$@ \033[0m\n\n'
$(OBJ_DIR)/%.c.o: $(FT_TRACEROUTE_PATH)/%.c
@mkdir -p $(OBJ_DIR)
@printf 'Compiling \033[1;33m$<\033[0m ...\n'
@$(C_COMPILER) $(C_CFLAGS) $(C_STANDART) $(FT_TRACEROUTE_INCS) -o $@ -c $< -MMD
-include $(FT_TRACEROUTE_DEPS)