58 lines
859 B
Makefile
58 lines
859 B
Makefile
SRC = main.c \
|
|
ft_lib.c
|
|
HEADERS = ft_lib.h
|
|
|
|
OBJDIR = obj
|
|
INCDIR = include
|
|
|
|
CC = cc
|
|
CFLAGS = \
|
|
-Wall \
|
|
-Wextra \
|
|
-Werror \
|
|
-I$(INCDIR)
|
|
LDFLAGS =
|
|
|
|
_OBJ = $(SRC:.c=.o)
|
|
OBJ = $(addprefix $(OBJDIR)/,$(_OBJ))
|
|
DEPS = $(addprefix $(INCDIR)/,$(HEADERS))
|
|
|
|
RM = /bin/rm -f
|
|
RMDIR = /bin/rmdir
|
|
|
|
.DEFAULT_GOAL=test
|
|
|
|
NAME ?= rush-02
|
|
|
|
.PHONY: re fclean clean all
|
|
|
|
all: $(NAME)
|
|
|
|
clean:
|
|
@$(RM) $(OBJ)
|
|
|
|
fclean: clean
|
|
@$(RM) $(NAME)
|
|
@$(RMDIR) $(OBJDIR) 2>/dev/null || true
|
|
|
|
re: fclean all
|
|
|
|
$(NAME): $(OBJ)
|
|
@$(CC) $(LDFLAGS) $^ -o $@
|
|
|
|
$(OBJ): | $(OBJDIR)
|
|
|
|
$(OBJDIR)/%.o: %.c $(DEPS)
|
|
@norminette $< >/dev/null || { printf '\033[107;41m%s\033[m\n' "!Norminette Failed>>>"; norminette $<; printf '\033[107;41m%s\033[m\n' "<<<Norminette Failed!"; exit 1; }
|
|
@$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
$(OBJDIR):
|
|
@mkdir -p $@
|
|
|
|
tests: test
|
|
|
|
test: re run fclean
|
|
|
|
run:
|
|
./$(NAME)
|