--- /dev/null
+CC = cc
+CFLAGS = -Wall -Wextra -Werror -g
+
+RM = rm -f
+
+SRCDIR = ./sources
+SOURCES = $(shell find $(SRCDIR) -name "*.c")
+OBJECTS = $(SOURCES:.c=.o)
+
+NAME = ft_tail
+
+all : $(NAME)
+
+$(NAME) : $(OBJECTS)
+ $(CC) $(CFLAGS) -o $(NAME) $(OBJECTS)
+
+%.o : %.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+clean :
+ $(RM) $(OBJECTS)
+
+fclean : clean
+ $(RM) $(NAME)
+
+re : fclean
+ $(MAKE) all
--- /dev/null
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* main.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: ljiriste <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2023/06/27 14:05:49 by ljiriste #+# #+# */
+/* Updated: 2023/06/27 17:28:04 by ljiriste ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h>
+#include <errno.h>
+
+void print_error(char *str)
+{
+ while (*str)
+ write(2, str++, 1);
+ return ;
+}
+
+void std_input_mode(void)
+{
+ char c;
+
+ while (read(0, &c, 1) > 0)
+ write(1, &c, 1);
+ return ;
+}
+
+void tail_file(char *file_name, char *proc_name, unsigned int char_count);
+{
+ int fd;
+ char c;
+ unsigned int file_length;
+
+ fd = open(file_name, O_RDWR);
+ if (fd < 0)
+ {
+ print_error(proc_name);
+ print_error(": ");
+ print_error(file_name);
+ print_error(": ");
+ print_error(strerror(errno));
+ print_error("\n");
+ }
+ else
+ {
+ file_length = file_length(file_name);
+
+ while (read(fd, &c, 1) > 0)
+ write(1, &c, 1);
+ close(fd);
+ }
+}
+
+int main(int argc, char **argv)
+{
+ int i;
+ char *str;
+
+ if (argc == 1)
+ std_input_mode_lines(10);
+ else
+ {
+
+ }
+ return (0);
+}