# **************************************************************************** # # # # ::: :::::::: # # Makefile :+: :+: :+: # # +:+ +:+ +:+ # # By: cacharle +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2019/11/24 05:50:15 by cacharle #+# #+# # # Updated: 2020/09/30 09:35:22 by cacharle ### ########.fr # # # # **************************************************************************** # RM = rm -f MAKE = make --no-print-directory COMMONDIR = ../common CC = gcc CCFLAGS = -g -I$(COMMONDIR) -Wall -Wextra #-Werror LDFLAGS = -lpthread -L$(COMMONDIR) -lphilocommon NAME = philo_one SRCDIR = src OBJDIR = obj SRC = $(shell find $(SRCDIR) -type f -name '*.c') OBJ = $(SRC:$(SRCDIR)/%.c=$(OBJDIR)/%.o) all: prebuild common_all $(NAME) prebuild: @mkdir -pv $(OBJDIR) $(NAME): $(OBJ) $(CC) -o $@ $(OBJ) $(LDFLAGS) $(OBJDIR)/%.o: $(SRCDIR)/%.c $(CC) $(CCFLAGS) -c -o $@ $< clean: common_clean $(RM) $(OBJ) fclean: clean $(RM) $(NAME) re: fclean all common_all: $(MAKE) -C $(COMMONDIR) all common_clean: $(MAKE) -C $(COMMONDIR) clean .PHONY: all prebuild clean fclean re common_all common_clean