This repository has been archived on 2023-12-28. You can view files and clone it, but cannot push or open issues or pull requests.
c_piscine_rush_02/Makefile

49 lines
1.8 KiB
Makefile
Raw Normal View History

# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: achubuko <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2023/12/02 21:33:22 by achubuko #+# #+# #
2023-12-02 17:52:49 +00:00
# Updated: 2023/12/02 21:48:05 by achubuko ### ########.fr #
# #
# **************************************************************************** #
NAME=rush-02
_CFLAGS = -Wall -Wextra -Werror
CFLAGS = -g
2023-12-02 17:52:49 +00:00
CFLAGS := $(_CFLAGS) $(CFLAGS)
#####################################
######### MANDATORY RULES ###########
#####################################
# all: default rule
# norme prerequisite is not mandatory
all: $(NAME) norme
# clean: Delete *.o for project and libraries
clean:
rm -rdf $(wildcard */*.o)
# fclean: Delete *.o files and delete named executable
fclean: clean
rm -f $(NAME)
# re: full clean and recompilation
re: fclean all
# these targets are not backed by files, therefore, always run when called
.PHONY: all clean fclean re purge norme
#####################################
########## PROJECT RULES ############
#####################################
norme:
norminette ex00
cfiles := $(wildcard ex00/*.c)
ofiles = $(foreach f, $(cfiles), $(subst .c,.o,$f))
%.o: %.c %.h
2023-12-02 17:52:49 +00:00
$(CC) $(CFLAGS) -c -o $@ $<
$(NAME): $(ofiles)
2023-12-02 17:52:49 +00:00
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^