diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-29 19:37:04 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-29 19:37:04 +0100 |
| commit | 396f61a507c981bab6e26e2eecf5c1eeba2fd565 (patch) | |
| tree | 1103da84a64bbd42f2c1840c159f38a2d8917a61 /Makefile | |
| download | minishell-396f61a507c981bab6e26e2eecf5c1eeba2fd565.tar.gz minishell-396f61a507c981bab6e26e2eecf5c1eeba2fd565.tar.bz2 minishell-396f61a507c981bab6e26e2eecf5c1eeba2fd565.zip | |
Initial Commit
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 69 |
1 files changed, 69 insertions, 0 deletions
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 |
