98 lines
2.5 KiB
Makefile
98 lines
2.5 KiB
Makefile
# **************************************************************************** #
|
|
# #
|
|
# ::: :::::::: #
|
|
# Makefile :+: :+: :+: #
|
|
# +:+ +:+ +:+ #
|
|
# By: fanno <marvin@42.fr> +#+ +:+ +#+ #
|
|
# +#+#+#+#+#+ +#+ #
|
|
# Created: 2016/02/23 16:40:31 by fanno #+# #+# #
|
|
# Updated: 2016/02/25 10:03:34 by fanno ### ########.fr #
|
|
# #
|
|
# **************************************************************************** #
|
|
|
|
NAME = fillit
|
|
|
|
CC = gcc
|
|
FLAGS = #-Wall -Werror -Wextra
|
|
|
|
LIB_PATH = libft
|
|
LIB = $(LIB_PATH)/libft.a
|
|
LIB_LINK = -L $(LIB_PATH) -lft
|
|
|
|
INC_DIR = includes
|
|
INCS = -I $(LIB_PATH)/$(INC_DIR) -I $(INC_DIR)
|
|
|
|
SRC_DIR = src
|
|
SRC_BASE = ft_check_ir0.c \
|
|
ft_check_ir90.c \
|
|
ft_check_jr0.c \
|
|
ft_check_jr180.c \
|
|
ft_check_jr270.c \
|
|
ft_check_jr90.c \
|
|
ft_check_lr0.c \
|
|
ft_check_lr180.c \
|
|
ft_check_lr270.c \
|
|
ft_check_lr90.c \
|
|
ft_check_or0.c \
|
|
ft_check_sr0.c \
|
|
ft_check_sr90.c \
|
|
ft_check_tiles.c \
|
|
ft_check_tr0.c \
|
|
ft_check_tr180.c \
|
|
ft_check_tr270.c \
|
|
ft_check_tr90.c \
|
|
ft_check_zr0.c \
|
|
ft_check_zr90.c \
|
|
ft_get_file.c \
|
|
ft_get_struct.c \
|
|
ft_print_grid.c \
|
|
ft_solve.c \
|
|
ft_solve_2.c \
|
|
ft_split_file_content.c \
|
|
ft_strstr_binary.c \
|
|
main.c
|
|
|
|
OBJ_DIR = obj
|
|
|
|
SRCS = $(addprefix $(SRC_DIR)/, $(SRC_BASE))
|
|
OBJS = $(addprefix $(OBJ_DIR)/, $(SRC_BASE:.c=.o))
|
|
|
|
C_NO = "\033[00m"
|
|
C_OK = "\033[35m"
|
|
C_GOOD = "\033[32m"
|
|
C_ERROR = "\033[31m"
|
|
C_WARN = "\033[33m"
|
|
|
|
SUCCESS = $(C_GOOD)SUCCESS$(C_NO)
|
|
OK = $(C_OK)OK$(C_NO)
|
|
|
|
all: obj $(NAME)
|
|
|
|
$(NAME): $(LIB) $(OBJS)
|
|
@$(CC) $(FLAGS) -o $@ $^ $(LIB_LINK)
|
|
@echo "Compiling" [ $(NAME) ] $(SUCCES)
|
|
|
|
$(LIB):
|
|
@make -C $(LIB_PATH)
|
|
|
|
obj:
|
|
@mkdir -p obj
|
|
|
|
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(INC_DIR)/*.h
|
|
@$(CC) $(FLAGS) $(INCS) -c -o $@ $<
|
|
@echo "Linking" [ $< ] $(OK)
|
|
|
|
clean:
|
|
@rm -f $(OBJS)
|
|
@rm -rf $(OBJ_DIR)
|
|
@echo "Cleaning" [ $(NAME) ] "..." $(OK)
|
|
|
|
fclean: clean
|
|
@rm -f $(NAME)
|
|
@make -C $(LIB_PATH) fclean
|
|
@echo "Delete" [ $(NAME) ] $(OK)
|
|
|
|
re: fclean all
|
|
|
|
.PHONY: clean all re fclean
|