dup2_close and makefile charging bar
This commit is contained in:
parent
4a673515ad
commit
4438a7e1dd
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
|
NAME = libft.a
|
||||||
RM = /bin/rm -rf
|
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
AR = ar -rc
|
||||||
|
MKDIR = mkdir -p
|
||||||
|
RM = /bin/rm -rf
|
||||||
FLAGS = -Wall -Wextra -Werror
|
FLAGS = -Wall -Wextra -Werror
|
||||||
D_FLAGS = -g
|
D_FLAGS = -g
|
||||||
|
|
||||||
LEN_NAME = `printf "%s" $(NAME) |wc -c`
|
DELTA = $$(echo "$$(tput cols)-47"|bc)
|
||||||
DELTA = $$(echo "$$(tput cols)-24-$(LEN_NAME)"|bc)
|
|
||||||
|
|
||||||
SRC_DIR = src/
|
SRC_DIR = src/
|
||||||
INC_DIR = includes/
|
INC_DIR = includes/
|
||||||
|
|
@ -167,6 +177,7 @@ str/ft_strsplit.c\
|
||||||
str/ft_strstr.c\
|
str/ft_strstr.c\
|
||||||
str/ft_strsub.c\
|
str/ft_strsub.c\
|
||||||
str/ft_strtrim.c\
|
str/ft_strtrim.c\
|
||||||
|
sys/dup2_close.c\
|
||||||
time/ft_mytime_free.c\
|
time/ft_mytime_free.c\
|
||||||
time/ft_mytime_get.c\
|
time/ft_mytime_get.c\
|
||||||
time/ft_time_isrecent.c\
|
time/ft_time_isrecent.c\
|
||||||
|
|
@ -175,24 +186,31 @@ xattr/ft_xattr_print.c
|
||||||
|
|
||||||
SRCS = $(addprefix $(SRC_DIR), $(SRC_BASE))
|
SRCS = $(addprefix $(SRC_DIR), $(SRC_BASE))
|
||||||
OBJS = $(addprefix $(OBJ_DIR), $(SRC_BASE:.c=.o))
|
OBJS = $(addprefix $(OBJ_DIR), $(SRC_BASE:.c=.o))
|
||||||
|
NB = $(words $(SRC_BASE))
|
||||||
|
INDEX = 0
|
||||||
|
|
||||||
all: $(NAME)
|
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)
|
$(NAME): $(OBJ_DIR) $(OBJS)
|
||||||
@$(AR) $(NAME) $(OBJS)
|
@$(AR) $(NAME) $(OBJS)
|
||||||
@ranlib $(NAME)
|
@ranlib $(NAME)
|
||||||
@echo "\r\033[48;5;15;38;5;25m✅ MAKE $(NAME)\033[0m\033[K"
|
@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:
|
clean:
|
||||||
@$(RM) $(OBJ_DIR)
|
@$(RM) $(OBJ_DIR)
|
||||||
@echo "\r\033[38;5;202m✖ clean $(NAME).\033[0m\033[K"
|
@echo "\r\033[38;5;202m✖ clean $(NAME).\033[0m\033[K"
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: jhalford <marvin@42.fr> +#+ +:+ +#+ */
|
/* By: jhalford <marvin@42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2016/11/07 13:49:04 by jhalford #+# #+# */
|
/* 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_printf(const char *format, ...);
|
||||||
int ft_dprintf(int fd, 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);
|
void *ft_realloc(void *data, int size);
|
||||||
|
|
||||||
|
char *ft_getenv(char **env, char *key);
|
||||||
|
int dup2_close(int fd1, int fd2);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
22
libft/src/sys/dup2_close.c
Normal file
22
libft/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