-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
48 lines (30 loc) · 831 Bytes
/
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
MAKEFLAGS += --silent
CC = gcc
CFLAGS = -Wall -Wextra -Werror
RM = rm -f
PTHEAD_FLAG = -lpthread
NAME = philo
NAME_BONUS = philo_bonus
SRCS_FILE = ./mandatory/srcs/philo.c \
./mandatory/srcs/helpers.c \
./mandatory/srcs/utils.c\
./mandatory/srcs/sleep.c
SRCS_FILE_BONUS = ./bonus/srcs/philo_bonus.c\
./bonus/srcs/helpers_bonus.c\
./bonus/srcs/utils_bonus.c\
./bonus/srcs/sleep_bonus.c
OBJS = $(SRCS_FILE:.c=.o)
OBJS_BONUS = $(SRCS_FILE_BONUS:.c=.o)
make : $(NAME)
%.o: %.c
$(CC) $(CFLAGS) -c $^ -o $@
$(NAME) : $(OBJS)
$(CC) $(CFLAGS) $(PTHEAD_FLAG) $(OBJS) -o $(NAME)
bonus : $(OBJS_BONUS)
$(CC) $(CFLAGS) $(PTHEAD_FLAG) $(OBJS_BONUS) -o $(NAME_BONUS)
clean:
$(RM) $(OBJS) $(OBJS_BONUS)
fclean : clean
$(RM) $(NAME) $(NAME_BONUS)
re : fclean make
.PHONY : all clean fclean re