61 lines
2.0 KiB
Makefile
61 lines
2.0 KiB
Makefile
# **************************************************************************** #
|
|
# #
|
|
# .--. _ #
|
|
# Makefile :+: :+: :+: #
|
|
# |:_/ || |_ _ ___ __ #
|
|
# By: djonker <djonker@student.codam.nl> // \ \ __| | | \ \/ / #
|
|
# (| | )|_| |_| |> < #
|
|
# Created: 2021/05/27 01:24:02 by djonker /'\_ _/`\__|\__,_/_/\_\ #
|
|
# Updated: 2023/02/16 17:21:38 by houtworm ### ########.fr #
|
|
# #
|
|
# **************************************************************************** #
|
|
|
|
NAME = get_next_line.a
|
|
CC = gcc
|
|
FC = -Wall -Werror -Wextra
|
|
RM = rm -f
|
|
SRC = src/get_next_line.c\
|
|
src/get_next_line_utils.c
|
|
BSRC = src/get_next_line_bonus.c\
|
|
src/get_next_line_utils_bonus.c
|
|
OBJ =$(SRC:src/%.c=obj/%.o)
|
|
BOBJ =$(BSRC:src/%.c=obj/%.o)
|
|
FAR = ar -crs
|
|
B1 = -D BUFFER_SIZE=1
|
|
B2 = -D BUFFER_SIZE=8
|
|
B3 = -D BUFFER_SIZE=500
|
|
B4 = -D BUFFER_SIZE=1000000
|
|
|
|
all: $(NAME)
|
|
|
|
clean:
|
|
@$(RM) -r obj
|
|
@printf "\e[1;35mCleaned Object Files\n\e[0;00m"
|
|
|
|
fclean: clean
|
|
@$(RM) $(NAME)
|
|
@printf "\e[1;31mCleaned Executables\n\e[0;00m"
|
|
|
|
re: fclean all
|
|
|
|
$(OBJ): $(SRC)
|
|
@mkdir -p obj
|
|
@printf "\e[1;34mBuilding $@\n\e[0;00m"
|
|
@$(CC) $(CFLAGS) -c $(@:obj/%.o=src/%.c) -o $@
|
|
|
|
$(NAME): $(OBJ)
|
|
@printf "\e[1;36mCompiling get next line\e[0;00m\n"
|
|
@$(FAR) $(NAME) $^ > /dev/null 2>&1
|
|
@printf "\e[1;32mDone\e[0;00m\n"
|
|
|
|
$(BOBJ): $(BSRC)
|
|
@mkdir -p obj
|
|
@printf "\e[1;34mBuilding $@\n\e[0;00m"
|
|
@$(CC) $(CFLAGS) -c $(@:obj/%.o=src/%.c) -o $@
|
|
|
|
bonus: $(BOBJ)
|
|
@printf "\e[1;36mCompiling get next line\e[0;00m\n"
|
|
@$(FAR) $(NAME) $^ > /dev/null 2>&1
|
|
@printf "\e[1;32mDone\e[0;00m\n"
|
|
|