minitalk/Makefile
2024-12-04 13:40:09 +01:00

64 lines
1.8 KiB
Makefile

# **************************************************************************** #
# #
# ::: o_ :::::: ::: #
# Makefile :+: / :+::+: :+: #
# +:+ > +:++:+ +:+ #
# By: whaffman <whaffman@student.codam.nl> +#+ +:+ +#++#++:++#++ #
# +#+ +#+#+ +#++#+ +#+ \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