# **************************************************************************** # # # # ::: o_ :::::: ::: # # Makefile :+: / :+::+: :+: # # +:+ > +:++:+ +:+ # # By: whaffman +#+ +:+ +#++#++:++#++ # # +#+ +#+#+ +#++#+ +#+ \o/ # # Created: 2024/07/26 21:41:10 by whaffman #+#+# #+#+# #+# #+# | # # Updated: 2024/07/27 17:58:44 by whaffman ### ### ### ### / \ # # # # **************************************************************************** # NAME = minitalk SRC_PATH = src INC_PATH = inc LIBFT_INC_PATH = libft/inc LIBFT = libft/libft.a OBJ_PATH = obj VPATH = $(SRC_PATH) SOURCES = server.c client.c OBJECTS = $(addprefix $(OBJ_PATH)/, $(SOURCES:.c=.o)) CC = cc RM = rm -rf INCLUDES = -I./$(LIBFT_INC_PATH) -I./$(INC_PATH) CFLAGS = -Wall -Werror -Wextra LDFLAGS = -L./libft LDLIBS = -lft all: $(NAME) $(NAME): client server client: obj/client.o $(LIBFT) $(CC) $(CFLAGS) obj/client.o $(LDFLAGS) $(LDLIBS) -o client server: obj/server.o $(LIBFT) $(CC) $(CFLAGS) obj/server.o $(LDFLAGS) $(LDLIBS) -o server $(OBJ_PATH): mkdir -p $@ $(LIBFT): $(MAKE) -C libft $(OBJ_PATH)/%.o: %.c $(LIBFT) | $(OBJ_PATH) $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ clean: $(RM) $(OBJ_PATH) $(MAKE) -C libft clean fclean: clean $(RM) client server libft.a $(MAKE) -C libft fclean re: fclean all bonus: all .PHONY: $(NAME) all clean fclean re bonus