From 396f61a507c981bab6e26e2eecf5c1eeba2fd565 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 29 Jan 2020 19:37:04 +0100 Subject: Initial Commit --- Makefile | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..dc3a101 --- /dev/null +++ b/Makefile @@ -0,0 +1,69 @@ +RM = rm -f +MAKE = make + +TESTEXEC = test.sh + +LIBFTDIR = libft +INCLUDEDIR = include +SRCDIR = src +OBJDIR = obj + +INCLUDEFILES = minishell.h +INCLUDE = $(addprefix $(INCLUDEDIR)/, $(INCLUDEFILES)) + +SRCFILES = main.c +SRC = $(addprefix $(SRCDIR)/, $(SRCFILES)) + +OBJ = $(SRC:$(SRCDIR)/%.c=$(OBJDIR)/%.o) + +CC = gcc +CCFLAGS = -I$(LIBFTDIR)/include -I$(INCLUDEDIR) -Wall -Wextra #-Werror +LDFLAGS = -L$(LIBFTDIR) -lft + +NAME = minishell + +.PHONY: all +all: libft_all make_obj_dir $(NAME) + +.PHONY: test +test: + ./$(TESTEXEC) + +.PHONY: make_obj_dir +make_obj_dir: + @if [ ! -d "$(OBJDIR)" ]; then echo "Making object dir"; mkdir $(OBJDIR); fi + +$(NAME): $(OBJ) + @echo "Linking: $@" + $(CC) -o $@ $(OBJ) $(LDFLAGS) + +$(OBJDIR)/%.o: $(SRCDIR)/%.c $(INCLUDE) + @echo "Compiling: $@" + @$(CC) $(CCFLAGS) -c -o $@ $< + +.PHONY: clean +clean: libft_clean + @echo "Removing objects" + @$(RM) -r $(OBJDIR) + +.PHONY: fclean +fclean: libft_fclean + @echo "Removing objects" + @$(RM) -r $(OBJDIR) + @echo "Removing exectable" + @$(RM) $(NAME) + +.PHONY: re +re: fclean all + +.PHONY: libft_all +libft_all: + $(MAKE) -C $(LIBFTDIR) all + +.PHONY: libft_clean +libft_clean: + $(MAKE) -C $(LIBFTDIR) clean + +.PHONY: libft_fclean +libft_fclean: + $(MAKE) -C $(LIBFTDIR) fclean -- cgit