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.
 
 

48 lines
885 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
OBJS = ${SRCS:.c=.o}
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
all: $(NAME)
$(VERBOSE).SILENT:
$(NAME): $(LIBFT) $(OBJS)
echo Making Minishell...
gcc -g ${OBJS} ${LIB} -o ${NAME}
echo
$(LIBFT):
${MAKE} -C ./libft
cp ./libft/libft.a .
%.o: %.c
gcc -Werror -Wextra -Wall -g -c $< ${READLINE_INC}
clean:
echo Cleaning objects...
rm -rf ${OBJS}
echo
fclean: clean
${MAKE} -C ./libft fclean
rm -rf libft.a
echo Cleaning binary...
rm -rf ${NAME}
echo
re: fclean all
.PHONY: all clean fclean re