diff options
| -rw-r--r-- | Makefile | 156 | ||||
| -rw-r--r-- | include/libft.h | 10 | ||||
| -rw-r--r-- | libft.conf | 11 | ||||
| -rw-r--r-- | pre2019_subject.en.pdf | bin | 1455686 -> 0 bytes | |||
| -rw-r--r-- | scripts/generate_rendu.sh | 26 | ||||
| -rw-r--r-- | src/str/ft_atoi_strict.c (renamed from src/str/ft_strict_atoi.c) | 0 | ||||
| -rw-r--r-- | subject.pdf (renamed from subject.en.pdf) | bin | 1657956 -> 1657956 bytes |
7 files changed, 88 insertions, 115 deletions
@@ -13,137 +13,69 @@ LIB = ar rcs RM = rm -f -SRC_DIR = src -OBJ_DIR = build -INCLUDE_DIR = include -GET_NEXT_LINE_DIR = get_next_line - CC = gcc CCFLAGS = -I$(INCLUDE_DIR) -Wall -Wextra -Werror NAME = libft.a -# SRC_CTYPE_DIR = ctype -# SRC_CTYPE = ft_isalnum.c \ -# ft_isalpha.c \ -# ft_isascii.c \ -# ft_isdigit.c \ -# ft_isprint.c \ -# ft_tolower.c \ -# ft_toupper.c -# -# SRC_IO_DIR = io -# SRC_IO = ft_asprintf.c \ -# ft_dprintf.c \ -# ft_printf \ -# ft_printf.c \ -# ft_putchar.c \ -# ft_putchar_fd.c \ -# ft_putendl.c \ -# ft_putendl_fd.c \ -# ft_putnbr.c \ -# ft_putnbr_fd.c \ -# ft_putstr.c \ -# ft_putstr_fd.c \ -# ft_snprintf.c \ -# ft_sprintf.c \ -# ft_vasprintf.c \ -# ft_vdprintf.c \ -# ft_vprintf.c \ -# ft_vsnprintf.c \ -# ft_vsprintf.c \ -# get_next_line -# -# SRC_LST_DIR = lst -# SRC_LST = ft_lstadd_back.c \ -# ft_lstadd_front.c \ -# ft_lstclear.c \ -# ft_lstdelone.c \ -# ft_lstiter.c \ -# ft_lstlast.c \ -# ft_lstmap.c \ -# ft_lstnew.c \ -# ft_lstpop_front.c \ -# ft_lstsize.c -# -# SRC_MEM_DIR = mem -# SRC_MEM = ft_bzero.c \ -# ft_calloc.c \ -# ft_memalloc.c \ -# ft_memccpy.c \ -# ft_memchr.c \ -# ft_memcmp.c \ -# ft_memcpy.c \ -# ft_memdel.c \ -# ft_memmove.c \ -# ft_memset.c -# -# SRC_STR_DIR = str -# SRC_STR = ft_atoi.c \ -# ft_itoa.c \ -# ft_split.c \ -# ft_strcat.c \ -# ft_strchr.c \ -# ft_strclr.c \ -# ft_strcmp.c \ -# ft_strcount.c \ -# ft_strcpy.c \ -# ft_strdel.c \ -# ft_strdup.c \ -# ft_strequ.c \ -# ft_striter.c \ -# ft_striteri.c \ -# ft_strjoin.c \ -# ft_strjoin_free.c \ -# ft_strjoin_free_snd.c \ -# ft_strlcat.c \ -# ft_strlcpy.c \ -# ft_strlen.c \ -# ft_strmap.c \ -# ft_strmapi.c \ -# ft_strncat.c \ -# ft_strncmp.c \ -# ft_strncpy.c \ -# ft_strndup.c \ -# ft_strnequ.c \ -# ft_strnew.c \ -# ft_strnstr.c \ -# ft_strrchr.c \ -# ft_strstr.c \ -# ft_strtrim.c \ -# ft_substr.c - -SRC = $(shell find $(SRC_DIR) -name *.c) - -# SRC = $(addprefix $(SRC_DIR)/,$(SRC_FILES)) -OBJ = $(SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o) +# AVAILABLE_FEATURES = get_next_line ft_printf ft_lst +CONF_FILE = libft.conf + +ifeq ($(wildcard $(CONF_FILE)),) +$(warning "No configuration file found with name $(CONF_FILE), using default") + SRC_DIR = src + BUILD_DIR = build + INCLUDE_DIR = include + FEATURES = get_next_line +else + SRC_DIR = $(shell sed -n 's/SRC_DIR=//p' $(CONF_FILE)) + BUILD_DIR = $(shell sed -n 's/BUILD_DIR=//p' $(CONF_FILE)) + INCLUDE_DIR = $(shell sed -n 's/INCLUDE_DIR=//p' $(CONF_FILE)) + FEATURES = $(shell sed -n 's/FEATURES=//p' $(CONF_FILE)) +endif + +ifeq ($(findstring get_next_line,$(FEATURES)),) + FIND_ARGS += -not -path "*get_next_line*" +endif +ifeq ($(findstring ft_printf,$(FEATURES)),) + FIND_ARGS += -not -path "*printf*" +endif +ifeq ($(findstring ft_lst,$(FEATURES)),) + FIND_ARGS += -not -name "ft_lst*" +endif + +SRC = $(shell find $(SRC_DIR) $(FIND_ARGS) -name *.c) + +OBJ = $(SRC:$(SRC_DIR)/%.c=$(BUILD_DIR)/%.o) HEADER_FILES = libft.h get_next_line.h HEADER = $(addprefix $(INCLUDE_DIR)/,$(HEADER_FILES)) - -BONUSOBJ = $(BONUSSRC:.c=.o) - all: make_build_dirs $(NAME) make_build_dirs: - @for dir in $$(find $(SRC_DIR)/* -type d | sed 's_$(SRC_DIR)/_$(OBJ_DIR)/_g'); \ + @for dir in $$(find $(SRC_DIR)/* $(FIND_ARGS) -type d | \ + sed 's_$(SRC_DIR)/_$(BUILD_DIR)/_g'); \ do \ - if [ ! -d "$$dir" ]; then mkdir -p $$dir; fi \ + if [ ! -d "$$dir" ]; then \ + mkdir -p $$dir; echo "Making build dir: $$dir"; fi \ done $(NAME): $(OBJ) $(HEADER) - $(LIB) $(NAME) $(OBJ) + @echo "Linking: $@" + @$(LIB) $(NAME) $(OBJ) -$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c - $(CC) $(CCFLAGS) -c -o $@ $< +$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c + @echo "Compiling: $@" + @$(CC) $(CCFLAGS) -c -o $@ $< clean: - $(RM) $(OBJ) + @echo "Removing objects" + @$(RM) -r $(BUILD_DIR) + fclean: clean - $(RM) $(NAME) + @echo "Removing library" + @$(RM) $(NAME) -re: - @make fclean - @make all +re: fclean all diff --git a/include/libft.h b/include/libft.h index a7f86af..c2215ed 100644 --- a/include/libft.h +++ b/include/libft.h @@ -18,11 +18,16 @@ # include <stdlib.h> # include <stddef.h> # include <limits.h> + # include <errno.h> + + # include "get_next_line.h" -# define TRUE 1 -# define FALSE 0 +# ifdef __linux__ +# include <stdio.h> +# define OPEN_MAX FOPEN_MAX +# endif # define MIN(x, y) ((x) < (y) ? (x) : (y)) # define MAX(x, y) ((x) > (y) ? (x) : (y)) @@ -157,5 +162,4 @@ char *ft_itoa(int n); int ft_strict_atoi(const char *s); long ft_strtol(const char *s, char **endptr, int base); - #endif diff --git a/libft.conf b/libft.conf new file mode 100644 index 0000000..a9f3ea7 --- /dev/null +++ b/libft.conf @@ -0,0 +1,11 @@ +# Making + +SRC_DIR=src +INCLUDE_DIR=include +BUILD_DIR=build +FEATURES=get_next_line ft_lst + + +# Repository + +RENDU_IGNORE=subject.pdf README.md scripts build libft.conf diff --git a/pre2019_subject.en.pdf b/pre2019_subject.en.pdf Binary files differdeleted file mode 100644 index e5bee09..0000000 --- a/pre2019_subject.en.pdf +++ /dev/null diff --git a/scripts/generate_rendu.sh b/scripts/generate_rendu.sh new file mode 100644 index 0000000..1b68a97 --- /dev/null +++ b/scripts/generate_rendu.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +if [ "$(git status --porcelain)" ] +then + echo "Error: Your working directory isn't clean" + exit +fi + +BASE_BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) +RENDU_BRANCH_NAME="rendu-$BASE_BRANCH_NAME" + +if [ -z $(git show-ref --verify --quiet refs/heads/$RENDU_BRANCH_NAME) ] +then + echo "Error: $RENDU_BRANCH_NAME was already generated" + exit +fi + +git checkout -b $RENDU_BRANCH_NAME +RENDU_IGNORE=$(sed -n 's/RENDU_IGNORE=//p') +make fclean +rm -f $RENDU_IGNORE + +# generate makefile strict src + +git add . +git commit --message "Generated commit: creation of rendu for $BASE_BRANCH_NAME" diff --git a/src/str/ft_strict_atoi.c b/src/str/ft_atoi_strict.c index 6156b03..6156b03 100644 --- a/src/str/ft_strict_atoi.c +++ b/src/str/ft_atoi_strict.c diff --git a/subject.en.pdf b/subject.pdf Binary files differindex 67a054c..67a054c 100644 --- a/subject.en.pdf +++ b/subject.pdf |
