new makefile (thx william) and src-->srcs
This commit is contained in:
parent
e42fbd69d7
commit
ec247f4c2f
168 changed files with 43 additions and 45 deletions
|
|
@ -1,30 +1,24 @@
|
||||||
#* ************************************************************************** *#
|
#* ************************************************************************** *#
|
||||||
# #
|
#* *#
|
||||||
# ::: :::::::: #
|
#* ::: :::::::: *#
|
||||||
# Makefile :+: :+: :+: #
|
#* Makefile :+: :+: :+: *#
|
||||||
# +:+ +:+ +:+ #
|
#* +:+ +:+ +:+ *#
|
||||||
# By: jhalford <jack@crans.org> +#+ +:+ +#+ #
|
#* By: wescande <wescande@student.42.fr> +#+ +:+ +#+ *#
|
||||||
# +#+#+#+#+#+ +#+ #
|
#* +#+#+#+#+#+ +#+ *#
|
||||||
# Created: 2017/02/07 16:09:36 by jhalford #+# #+# #
|
#* Created: 2016/08/29 21:32:58 by wescande #+# #+# *#
|
||||||
# Updated: 2017/03/26 15:35:32 by jhalford ### ########.fr #
|
#* Updated: 2016/12/24 02:14:21 by wescande ### ########.fr *#
|
||||||
# #
|
#* *#
|
||||||
#* ************************************************************************** *#
|
#* ************************************************************************** *#
|
||||||
|
|
||||||
NAME = libft.a
|
NAME = libft.a
|
||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
AR = ar -rc
|
FLAGS = -Wall -Wextra -Werror -O3
|
||||||
MKDIR = mkdir -p
|
|
||||||
RM = /bin/rm -rf
|
|
||||||
|
|
||||||
W_FLAGS = -Wall -Wextra
|
LEN_NAME = `printf "%s" $(NAME) |wc -c`
|
||||||
D_FLAGS =
|
DELTA = $$(echo "$$(tput cols)-31-$(LEN_NAME)"|bc)
|
||||||
V_FLAGS = -fvisibility=hidden
|
|
||||||
FLAGS = $(W_FLAGS) $(D_FLAGS) $(V_FLAGS)
|
|
||||||
|
|
||||||
DELTA = $$(echo "$$(tput cols)-47"|bc)
|
SRC_DIR = srcs/
|
||||||
|
|
||||||
SRC_DIR = src/
|
|
||||||
INC_DIR = includes/
|
INC_DIR = includes/
|
||||||
OBJ_DIR = objs/
|
OBJ_DIR = objs/
|
||||||
|
|
||||||
|
|
@ -203,38 +197,42 @@ NB = $(words $(SRC_BASE))
|
||||||
INDEX = 0
|
INDEX = 0
|
||||||
|
|
||||||
all :
|
all :
|
||||||
@make -j $(NAME)
|
@$(MAKE) -j $(NAME)
|
||||||
|
|
||||||
$(NAME) : $(OBJ_DIR) $(OBJS)
|
$(NAME) : $(OBJ_DIR) $(OBJS)
|
||||||
@$(AR) $(NAME) $(OBJS)
|
@ar rcs $(NAME) $(OBJS)
|
||||||
@ranlib $(NAME)
|
@printf "\r\033[38;5;117m✓ MAKE $(NAME)\033[0m\033[K\n"
|
||||||
@#strip -x $(NAME)
|
|
||||||
@printf "\r\033[48;5;15;38;5;25m✅ MAKE $(NAME)\033[0m\033[K\n"
|
$(OBJ_DIR) :
|
||||||
|
@mkdir -p $(OBJ_DIR)
|
||||||
|
@mkdir -p $(dir $(OBJS))
|
||||||
|
|
||||||
$(OBJ_DIR)%.o : $(SRC_DIR)%.c | $(OBJ_DIR)
|
$(OBJ_DIR)%.o : $(SRC_DIR)%.c | $(OBJ_DIR)
|
||||||
@$(eval DONE=$(shell echo $$(($(INDEX)*20/$(NB)))))
|
@$(eval DONE=$(shell echo $$(($(INDEX)*20/$(NB)))))
|
||||||
@$(eval PERCENT=$(shell echo $$(($(INDEX)*100/$(NB)))))
|
@$(eval PERCENT=$(shell echo $$(($(INDEX)*100/$(NB)))))
|
||||||
@$(eval COLOR=$(shell echo $$(($(PERCENT)%35+196))))
|
@$(eval TO_DO=$(shell echo $$((20-$(INDEX)*20/$(NB) - 1))))
|
||||||
@$(eval TO_DO=$(shell echo $$((20-$(INDEX)*20/$(NB)))))
|
@$(eval COLOR=$(shell list=(160 196 202 208 215 221 226 227 190 154 118 82 46); index=$$(($(PERCENT) * $${#list[@]} / 100)); echo "$${list[$$index]}"))
|
||||||
@printf "\r\033[38;5;11m⌛ MAKE %10.10s : %2d%% \033[48;5;%dm%*s\033[0m%*s\033[48;5;255m \033[0m \033[38;5;11m %*.*s\033[0m\033[K" $(NAME) $(PERCENT) $(COLOR) $(DONE) "" $(TO_DO) "" $(DELTA) $(DELTA) "$@"
|
@printf "\r\033[38;5;%dm⌛ [%s]: %2d%% `printf '█%.0s' {0..$(DONE)}`%*s❙%*.*s\033[0m\033[K" $(COLOR) $(NAME) $(PERCENT) $(TO_DO) "" $(DELTA) $(DELTA) "$(shell echo "$@" | sed 's/^.*\///')"
|
||||||
@$(CC) $(FLAGS) -MMD -c $< -o $@\
|
@$(CC) $(FLAGS) -MMD -c $< -o $@\
|
||||||
-I $(INC_DIR)
|
-I $(INC_DIR)
|
||||||
@$(eval INDEX=$(shell echo $$(($(INDEX)+1))))
|
@$(eval INDEX=$(shell echo $$(($(INDEX)+1))))
|
||||||
|
|
||||||
$(OBJ_DIR):
|
|
||||||
@$(MKDIR) $(OBJ_DIR)
|
|
||||||
@$(MKDIR) $(dir $(OBJS))
|
|
||||||
|
|
||||||
clean :
|
clean :
|
||||||
@$(RM) $(OBJ_DIR)
|
@if [ -e $(OBJ_DIR) ]; \
|
||||||
@printf "\r\033[38;5;202m✖ clean $(NAME).\033[0m\033[K\n"
|
then \
|
||||||
|
rm -rf $(OBJ_DIR); \
|
||||||
|
printf "\r\033[38;5;202m✗ clean $(NAME).\033[0m\033[K\n"; \
|
||||||
|
fi;
|
||||||
|
|
||||||
fclean : clean
|
fclean : clean
|
||||||
@$(RM) $(NAME)
|
@if [ -e $(NAME) ]; \
|
||||||
@printf "\r\033[38;5;196m❌ fclean $(NAME).\033[0m\033[K\n"
|
then \
|
||||||
|
rm -rf $(NAME); \
|
||||||
|
printf "\r\033[38;5;196m✗ fclean $(NAME).\033[0m\033[K\n"; \
|
||||||
|
fi;
|
||||||
|
|
||||||
re : fclean all
|
re : fclean all
|
||||||
|
|
||||||
.PHONY: all clean fclean re
|
.PHONY : fclean clean re
|
||||||
|
|
||||||
-include $(OBJS:.o=.d)
|
-include $(OBJS:.o=.d)
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue