2025-02-06 13:43:26 +01:00
|
|
|
NAME = minishell
|
|
|
|
|
DEBUG = -g
|
|
|
|
|
ASAN = -fsanitize=address
|
|
|
|
|
TSAN = -fsanitize=thread
|
|
|
|
|
UBSAN = -fsanitize=undefined
|
|
|
|
|
ifeq ($(CFLAGS),)
|
|
|
|
|
CFLAGS = -Wall -Wextra -Werror $(DEBUG)
|
|
|
|
|
endif
|
|
|
|
|
export CFLAGS
|
|
|
|
|
srcs = \
|
|
|
|
|
|
|
|
|
|
objs = $(srcs:.c=.o)
|
|
|
|
|
minishell_objs = $(addsuffix .o,src/$(NAME)) $(objs)
|
|
|
|
|
all_objs = $(minishell_objs)
|
|
|
|
|
deps = $(all_objs:.o=.d)
|
|
|
|
|
|
2025-02-06 13:45:29 +01:00
|
|
|
.PHONY: all clean fclean re norm
|
2025-02-06 13:43:26 +01:00
|
|
|
|
|
|
|
|
all: $(NAME)
|
|
|
|
|
|
|
|
|
|
-include $(deps)
|
|
|
|
|
|
|
|
|
|
$(NAME): $(minishell_objs)
|
|
|
|
|
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(minishell_objs) $(LDLIBS)
|
|
|
|
|
|
|
|
|
|
%.o: %.c
|
|
|
|
|
$(CC) -c $(CFLAGS) $(LDFLAGS) -o $*.o $*.c
|
|
|
|
|
$(CC) -MM $(CFLAGS) $(LDFLAGS) $*.c > $*.d
|
|
|
|
|
|
|
|
|
|
clean:
|
|
|
|
|
find . -name '*.o' -print -delete
|
|
|
|
|
find . -name '*.d' -print -delete
|
|
|
|
|
|
|
|
|
|
fclean: clean
|
|
|
|
|
rm -f $(NAME)
|
|
|
|
|
|
|
|
|
|
re:
|
|
|
|
|
+make fclean
|
|
|
|
|
+make all
|
2025-02-06 13:45:29 +01:00
|
|
|
|
|
|
|
|
norm:
|
|
|
|
|
norminette src | grep -v OK || true
|