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/tests/Makefile

48 lines
1.8 KiB
Makefile
Raw Normal View History

# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: achubuko <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2023/12/02 22:04:03 by achubuko #+# #+# #
2023-12-03 19:36:55 +00:00
# Updated: 2023/12/03 22:46:50 by achubuko ### ########.fr #
# #
# **************************************************************************** #
2023-12-03 19:36:55 +00:00
NAME := $(foreach f,$(wildcard test*.c),$(subst .c,,$f))
_CFLAGS = -Wall -Wextra -Werror
CFLAGS = -g
CFLAGS := $(_CFLAGS) $(CFLAGS) -I../ex00 -I../contrib/Unity/src/
# all: default rule
# prerequisite is not mandatory
all: $(NAME) run
# 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 run
#####################################
########## PROJECT RULES ############
#####################################
run: $(NAME)
$(foreach t,$^,./$t;)
%.o: %.c %.h
$(CC) $(CFLAGS) -c -o $@ $<
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
# build test unit executable
test_%: test_%.o ../ex00/%.o ../contrib/Unity/src/unity.o
$(CC) $(LDFLAGS) -o $@ $^ $(LOADLIBES) $(LDLIBS)