You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
890 B

NAME = minishell
LIBFT = libft.a
SRCS = minishell.c lexer.c lexer_2.c lexer_3.c parser.c caller.c
SRCS += built-in.c env.c utils.c errors.c
3 years ago
OBJS = ${SRCS:.c=.o}
3 years ago
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S), Linux)
LIB = -lreadline -lhistory -L. -lft
endif
ifeq ($(UNAME_S), Darwin)
READLINE_INC = -I ~/.brew/opt/readline/include
LIB = -L ~/.brew/lib -lreadline -L ~/.brew/lib -lhistory -L. -lft
endif
3 years ago
$(NAME): $(LIBFT) $(OBJS)
@echo "Making Minishell."
@gcc -g ${OBJS} ${LIB} -o ${NAME}
@echo "Done."
3 years ago
$(LIBFT):
@${MAKE} -C ./libft
@cp ./libft/libft.a .
3 years ago
all: $(NAME)
3 years ago
%.o: %.c
@gcc -Werror -Wextra -Wall -g -c $< ${READLINE_INC}
3 years ago
clean:
@echo "Cleaning objects."
@rm -rf ${OBJS}
@echo "Done."
3 years ago
fclean: clean
@${MAKE} -C ./libft fclean
@rm -rf libft.a
@echo "Cleaning binary."
@rm -rf ${NAME}
@echo "Done."
3 years ago
re: fclean all
.PHONY: all clean fclean re