HEADERS = -I include -I $(LIB_DIR)/libft
VPATH := src
-SRC := main.c
+SRC := main.c debug_tools.c
OBJ_DIR := _obj
OBJ := $(addprefix $(OBJ_DIR)/, $(SRC:%.c=%.o))
re: fclean all
-.PHONY: all clean fclean re libs
+debug: CFLAGS += -g
+debug: CFLAGS += -fsanitize=address -fsanitize=undefined \
+ -fno-sanitize-recover=all -fsanitize=float-divide-by-zero \
+ -fsanitize=float-cast-overflow -fno-sanitize=null \
+ -fno-sanitize=alignment
+debug: CFLAGS += -DDEBUG=1
+debug: clean all
+
+.PHONY: all clean fclean re libs debug
################################################################################
################################################################################
--- /dev/null
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* debug_tools.h :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2024/06/24 18:34:37 by dkaiser #+# #+# */
+/* Updated: 2024/06/24 18:51:53 by dkaiser ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#ifndef DEBUG_TOOLS_H
+# define DEBUG_TOOLS_H
+
+# include "libft.h"
+
+# ifndef DEBUG
+# define DEBUG 0
+# endif
+
+void dbg(char *str);
+void panic(char *msg);
+#endif
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/06/22 17:14:49 by dkaiser #+# #+# */
-/* Updated: 2024/06/22 17:16:15 by dkaiser ### ########.fr */
+/* Updated: 2024/06/24 18:51:30 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef MINISHELL_H
# define MINISHELL_H
+
+# include "debug_tools.h"
+# include "libft.h"
+
#endif
--- /dev/null
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* debug_tools.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2024/06/24 15:34:14 by dkaiser #+# #+# */
+/* Updated: 2024/06/25 12:48:20 by dkaiser ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "debug_tools.h"
+
+void dbg(char *msg)
+{
+ if (DEBUG)
+ {
+ ft_putstr_fd("\e[33m[DEBUG] ", 0);
+ ft_putstr_fd(msg, 0);
+ ft_putendl_fd("\e[0m", 0);
+ }
+}
+
+void panic(char *msg)
+{
+ if (DEBUG)
+ {
+ ft_putstr_fd("\e[31m[PANIC] ", 1);
+ ft_putstr_fd(msg, 1);
+ ft_putendl_fd("\e[0m", 1);
+ }
+}