95 lines
2.9 KiB
Makefile
95 lines
2.9 KiB
Makefile
# **************************************************************************** #
|
|
# #
|
|
# ::: :::::::: #
|
|
# Makefile :+: :+: :+: #
|
|
# +:+ +:+ +:+ #
|
|
# By: lalgarra <lalgarra@student.42madrid.com> +#+ +:+ +#+ #
|
|
# +#+#+#+#+#+ +#+ #
|
|
# Created: 2025/09/29 11:35:48 by lalgarra #+# #+# #
|
|
# Updated: 2025/10/01 21:14:37 by lalgarra ### ########.fr #
|
|
# #
|
|
# **************************************************************************** #
|
|
|
|
LIBDIR = ../repo_libft_algarra
|
|
#LIBDIR = ../repo_algarra
|
|
#CFLAGS += -Wall -Wextra -Werror -g3 -fsanitize=address
|
|
CFLAGS += -Wall -Wextra -Werror -g3 -iquote $(LIBDIR) -L$(LIBDIR) -lft
|
|
|
|
TESTS:= isalpha_test isdigit_test isalnum_test isascii_test
|
|
|
|
%_actual.output : %_test
|
|
./$*_test > ./$*_actual.output ;
|
|
|
|
#%_report : %_test %_actual.output
|
|
# $(shell diff -a $*_expected.output $*_actual.output > $*_report )
|
|
|
|
%_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)
|
|
|
|
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 ; \
|
|
)
|
|
|
|
|
|
|
|
#all: $(TESTS)
|
|
|
|
#build_output: all
|
|
# $(foreach E, $(TESTS), \
|
|
# $(eval A = $(subst _test,_actual.output,$(E))) \
|
|
# ./$(E) > $(A); \
|
|
# )
|
|
#
|
|
#run: build_output
|
|
# echo "=== PRUEBAS ==="
|
|
# $(foreach E, $(TESTS), \
|
|
# $(eval A = $(subst _test,_actual.output,$(E))) \
|
|
# $(eval X = $(subst _test,_expected.output,$(E))) \
|
|
# $(shell diff -a $(X) $(A)) \
|
|
# $(eval R = ok) \
|
|
# $(eval R = $(if $(.SHELLSTATUS), NOK)) \
|
|
# echo "$(E) $(.SHELLSTATUS) - $(R) \n" \
|
|
# )
|
|
#
|
|
|
|
fclean:
|
|
$(foreach E, $(TESTS), \
|
|
$(eval A = $(subst _test,_actual.output,$(E))) \
|
|
$(eval R = $(subst _test,_report,$(E))) \
|
|
rm -f $(E) $(A) $(R) \
|
|
)
|
|
rm -f report
|
|
|
|
#runmal:
|
|
# $(foreach E, $(TESTS), \
|
|
# $(eval X = $(subst _test,_expected.output,$(E))) \
|
|
# $(eval A = $(subst _test,_actual.output,$(E))) \
|
|
# $(eval R = $(shell diff -a $(X) $(A))) \
|
|
# $(if $(R), $(shell echo "$(E) NOK"), $(shell echo "$(E) ok")) \
|
|
# )
|
|
#
|
|
##foo: TESTS
|
|
|
|
#%_actual.output : %_test
|
|
# ./$*_test > ./$*_actual.output
|
|
# echo ha intentado generar actual
|
|
#
|
|
#run_%: %_actual.output
|
|
# $(shell diff -a $*_expected.output $*_actual.output )
|
|
# $(info $(.SHELLSTATUS))
|
|
# $(let R , $(intcmp 0, $(.SHELLSTATUS), ok, nok), $(info $(R)))
|
|
#
|
|
|