minishell/Makefile
2025-02-07 15:29:43 +01:00

45 lines
787 B
Makefile

NAME = minishell
DEBUG = -g
ASAN = -fsanitize=address
TSAN = -fsanitize=thread
UBSAN = -fsanitize=undefined
LDLIBS = \
-lreadline \
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)
.PHONY: all clean fclean re norm
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
norm:
norminette src | grep -v OK || true