# **************************************************************************** # # # # ::: :::::::: # # Makefile :+: :+: :+: # # +:+ +:+ +:+ # # By: lalgarra +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2025/10/22 20:41:03 by lalgarra #+# #+# # # Updated: 2025/10/27 03:51:10 by lalgarra ### ########.fr # # # # **************************************************************************** # NAME = report # Relative location of sources to test LIBDIR = ../repo_algarra GNL_SOURCES = get_next_line.c get_next_line_utils.c SOURCES = $(foreach f, $(GNL_SOURCES), $(LIBDIR)/$f) #OBJECTS = $(SOURCES:.c=.o) #SRCBONUS = test_printf_bonus.c #OBJBONUS = $(SRCBONUS:.c=.o) CFLAGS += -Wall -Wextra -Werror -g3 -iquote $(LIBDIR) -O0 #%.o: %.c # $(CC) $(CFLAGS) -c -o $* test001: test001.c $(SOURCES) $(CC) $(CFLAGS) $+ -o $@ report_01: test001.c $(SOURCES) $(CC) $(CFLAGS) -D BUFFER_SIZE=42 $+ -o test001_01 printf "==\n test001_01: BUFFER_SIZE=42: input001 vs output001\n" >> $@ ./test001_01 input001 > output001 diff -s input001 output001 >> $@ printf "==\n test001_01: BUFFER_SIZE=42: input002 vs output002\n" >> $@ ./test001_01 input002 > output002 diff -s input002 output002 >> $@ printf "==\n test001_01: BUFFER_SIZE=42: input003 vs output003\n" >> $@ ./test001_01 input003 > output003 diff -s input003 output003 >> $@ printf "==\n test001_01: BUFFER_SIZE=42: input004 vs output004\n" >> $@ ./test001_01 input004 > output004 diff -s input004 output004 >> $@ printf "==\n test001_01: BUFFER_SIZE=42: input005 vs output005\n" >> $@ ./test001_01 input005 > output005 diff -s input005 output005 >> $@ printf "==\n test001_01: BUFFER_SIZE=42: input006 vs output006\n" >> $@ ./test001_01 input006 > output006 diff -s input006 output006 >> $@ #$(NAME): $(OBJECTS) $(LIBDIR)/libftprintf.a # $(CC) $(CFLAGS) $(OBJECTS) -L$(LIBDIR) -lftprintf -o $(NAME) # #$(LIBDIR)/libftprintf.a: # $(MAKE) -C $(LIBDIR) all # #bonus: $(OBJBONUS) # $(MAKE) -C $(LIBDIR) fclean bonus # $(CC) $(CFLAGS) $(OBJBONUS) -L$(LIBDIR) -lftprintf -o $@ # #.PHONY: clean fclean re # #clean: ##removes objects (.o)# # rm -f $(OBJECTS) $(OBJBONUS) # $(MAKE) -C $(LIBDIR) clean fclean: rm -f test001 report_01 #all: $(NAME) ## builds all # #re: fclean all ## cleans and rebuild all # ## ##CFLAGS += -Wall -Wextra -Werror -g3 -iquote $(LIBDIR) \ ## -O0 ## ##TESTS := ft_isalpha_test ft_isdigit_test ft_isalnum_test ft_isascii_test \ ## ft_isprint_test ft_toupper_test ft_tolower_test ft_strlen_test \ ## ft_memset_test ft_bzero_test ft_memcpy_test ft_calloc_test \ ## ft_memmove_test ft_strlcpy_test ft_strlcat_test ft_strchr_test \ ## ft_strrchr_test ft_strncmp_test ft_memcmp_test ft_strnstr_test \ ## ft_atoi_test ft_substr_test ft_strjoin_test ft_strtrim_test \ ## ft_split_test ## ##TESTSBONUS := ft_lstclear_test ## ##%_test : %_test.c ## $(CC) $(CFLAGS) $*_test.c -L$(LIBDIR) -lft -o $*_test ## ##%_actual.output : %_test ## @./$*_test 2>&1 > ./$*_actual.output ; ## ###alternative command ### @script -qc './$*_test &> ./$*_actual.output' 2> ./$*_actual.output 1> /dev/null ## ##%_report : %_test %_actual.output ## -(diff -a $*_expected.output $*_actual.output \ ## && echo "Test OK") > $*_report ## ##EXES = $(TESTS) ## ##ACT_OUTPUTS = $(TESTS:_test=_actual.output) ## ##ACT_REPORTS = $(TESTS:_test=_report) ## ##.SECONDARY = $(ACT_REPORTS) $(ACT_OUTPUTS) ## ### Rule to create a 'report' file with info about the execution of ### tests in $(TEST) ##report : $(EXES) $(ACT_OUTPUTS) $(ACT_REPORTS) ## @rm -f report ; ## @$(foreach E, $(TESTS), \ ## $(eval T = $(subst _test,,$(E))) \ ## $(eval R = $(subst _test,_report,$(E))) \ ## echo "=== $(T) ===" >> report ; \ ## cat $(R) >> report ; \ ## ) ## ##fclean: ## rm -f report $(ACT_REPORTS) $(ACT_OUTPUTS) $(EXES) ##