dup2_close and makefile charging bar
This commit is contained in:
parent
0d732822fd
commit
a3839c87b2
3 changed files with 61 additions and 20 deletions
|
|
@ -1,15 +1,25 @@
|
|||
NAME = libft.a
|
||||
CC = gcc
|
||||
AR = ar -rc
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# Makefile :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: jhalford <jack@crans.org> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2017/02/07 16:09:36 by jhalford #+# #+# #
|
||||
# Updated: 2017/02/07 16:13:25 by jhalford ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
MKDIR = mkdir -p
|
||||
RM = /bin/rm -rf
|
||||
NAME = libft.a
|
||||
|
||||
CC = gcc
|
||||
AR = ar -rc
|
||||
MKDIR = mkdir -p
|
||||
RM = /bin/rm -rf
|
||||
FLAGS = -Wall -Wextra -Werror
|
||||
D_FLAGS = -g
|
||||
|
||||
LEN_NAME = `printf "%s" $(NAME) |wc -c`
|
||||
DELTA = $$(echo "$$(tput cols)-24-$(LEN_NAME)"|bc)
|
||||
DELTA = $$(echo "$$(tput cols)-47"|bc)
|
||||
|
||||
SRC_DIR = src/
|
||||
INC_DIR = includes/
|
||||
|
|
@ -167,6 +177,7 @@ str/ft_strsplit.c\
|
|||
str/ft_strstr.c\
|
||||
str/ft_strsub.c\
|
||||
str/ft_strtrim.c\
|
||||
sys/dup2_close.c\
|
||||
time/ft_mytime_free.c\
|
||||
time/ft_mytime_get.c\
|
||||
time/ft_time_isrecent.c\
|
||||
|
|
@ -175,24 +186,31 @@ xattr/ft_xattr_print.c
|
|||
|
||||
SRCS = $(addprefix $(SRC_DIR), $(SRC_BASE))
|
||||
OBJS = $(addprefix $(OBJ_DIR), $(SRC_BASE:.c=.o))
|
||||
NB = $(words $(SRC_BASE))
|
||||
INDEX = 0
|
||||
|
||||
all: $(NAME)
|
||||
|
||||
$(OBJ_DIR)%.o: $(SRC_DIR)%.c | $(OBJ_DIR)
|
||||
@$(MKDIR) $(OBJ_DIR)
|
||||
@$(CC) $(FLAGS) $(D_FLAGS) -MMD -c $< -o $@\
|
||||
-I $(INC_DIR)
|
||||
@printf "\r\033[38;5;11m⌛ MAKE %s plz wait : %*s\033[0m\033[K" $(NAME) $(DELTA) "$@"
|
||||
|
||||
$(OBJ_DIR):
|
||||
@$(MKDIR) $(OBJ_DIR)
|
||||
@$(MKDIR) $(dir $(OBJS))
|
||||
|
||||
$(NAME): $(OBJ_DIR) $(OBJS)
|
||||
@$(AR) $(NAME) $(OBJS)
|
||||
@ranlib $(NAME)
|
||||
@echo "\r\033[48;5;15;38;5;25m✅ MAKE $(NAME)\033[0m\033[K"
|
||||
|
||||
$(OBJ_DIR)%.o: $(SRC_DIR)%.c | $(OBJ_DIR)
|
||||
@$(eval DONE=$(shell echo $$(($(INDEX)*20/$(NB)))))
|
||||
@$(eval PERCENT=$(shell echo $$(($(INDEX)*100/$(NB)))))
|
||||
@$(eval COLOR=$(shell echo $$(($(PERCENT)%35+196))))
|
||||
@$(eval TO_DO=$(shell echo $$((20-$(INDEX)*20/$(NB)))))
|
||||
@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) "$@"
|
||||
@$(MKDIR) $(OBJ_DIR)
|
||||
@$(CC) $(FLAGS) $(D_FLAGS) -MMD -c $< -o $@\
|
||||
-I $(INC_DIR)
|
||||
@$(eval INDEX=$(shell echo $$(($(INDEX)+1))))
|
||||
|
||||
$(OBJ_DIR):
|
||||
@$(MKDIR) $(OBJ_DIR)
|
||||
@$(MKDIR) $(dir $(OBJS))
|
||||
|
||||
clean:
|
||||
@$(RM) $(OBJ_DIR)
|
||||
@echo "\r\033[38;5;202m✖ clean $(NAME).\033[0m\033[K"
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: jhalford <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2016/11/07 13:49:04 by jhalford #+# #+# */
|
||||
/* Updated: 2017/02/03 16:08:41 by jhalford ### ########.fr */
|
||||
/* Updated: 2017/02/07 16:12:40 by jhalford ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -156,7 +156,8 @@ char *ft_path_notdir(char *path);
|
|||
int ft_printf(const char *format, ...);
|
||||
int ft_dprintf(int fd, const char *format, ...);
|
||||
|
||||
char *ft_getenv(char **env, char *key);
|
||||
|
||||
void *ft_realloc(void *data, int size);
|
||||
|
||||
char *ft_getenv(char **env, char *key);
|
||||
int dup2_close(int fd1, int fd2);
|
||||
#endif
|
||||
|
|
|
|||
22
libftasm/src/sys/dup2_close.c
Normal file
22
libftasm/src/sys/dup2_close.c
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* dup2_close.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2017/02/07 16:07:28 by jhalford #+# #+# */
|
||||
/* Updated: 2017/02/07 16:15:52 by jhalford ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
int dup2_close(int fd1, int fd2)
|
||||
{
|
||||
if (dup2(fd1, fd2))
|
||||
return (-1);
|
||||
if (close(fd1))
|
||||
return (-1);
|
||||
return (0);
|
||||
}
|
||||
Loading…
Reference in a new issue