diff --git a/libft/Makefile b/libft/Makefile index f7db6d7..619d171 100644 --- a/libft/Makefile +++ b/libft/Makefile @@ -6,7 +6,7 @@ # By: +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2021/10/22 09:10:00 by gbaconni #+# #+# # -# Updated: 2021/10/23 16:40:01 by gbaconni ### lausanne.ch # +# Updated: 2021/10/23 22:24:08 by gbaconni ### lausanne.ch # # # # **************************************************************************** # # @@ -20,16 +20,15 @@ OUT = munit.out -LIBDIR = libft -LIB = ft +LIBRARY = libft +LIBS = -lft -HDRDIR = munit -HDR = $(HDRDIR)/munit.h +INCLUDE = munit +HDR = munit.h -SRCDIR = . SRC = \ - $(SRCDIR)/munit.c \ - $(HDRDIR)/munit.c + munit.c \ + $(INCLUDE)/munit.c CC = gcc CFLAGS = -Wall -Wextra -Werror @@ -57,51 +56,65 @@ help: @echo "a: nemequ/µnit" @echo "b: Tripouille/libftTester" @echo "c: jtoty/Libftest" - @echo "d: alelievr/libft-unit-test" - @echo "test: a b c d" + @echo "d: alelievr/libft-unit-test (tests)" + @echo "e: alelievr/libft-unit-test (bench)" + @echo "test: a b c d e" @echo "update: git pull" -a: update compile +_munit: @./$(OUT) || true + +a: update compile _munit @echo "" @echo "Summary:" @./$(OUT) 2>&1 | grep -i -e 'error' -e 'tests successful'|| true -b: compile +_libftTester: @grep -q 'update message' libftTester/Makefile && sed -i'.orig' -e 's/update \(message\)/\1/g' libftTester/Makefile || true @grep -q '/libft$$' libftTester/Makefile || sed -i'.orig' -e 's/^\(PARENT_DIR.*\)/\1\/libft/' libftTester/Makefile || true + +b: compile _libftTester @make -C libftTester m || true @make -C libftTester b || true -c: compile +_Libftest: @test -f Libftest/my_config.sh || (cd Libftest && ./grademe.sh >/dev/null 2>&1) || true @grep -q '^PATH_LIBFT=\.\./libft' Libftest/my_config.sh || sed -i'.orig' -e 's/^\(PATH_LIBFT\)=.*/\1=..\/libft/' Libftest/my_config.sh || true @grep -q "'ft_memccpy'" Libftest/srcs/variables/functions/part_1.sh && sed -i'.orig' -e "/'ft_memccpy'/d" Libftest/srcs/variables/functions/part_1.sh || true @rm -fr Libftest/tests/Part1_functions/ft_memccpy || true - @cd Libftest && ./grademe.sh || true -d: compile - @make -C libft-unit-test all || true - @cd libft-unit-test && ./run_test || true +c: compile _Libftest + @cd Libftest && ./grademe.sh -u || true +_libft-unit-test: + @grep -q 'ft_memccpy' libft-unit-test/src/init.c && sed -i'.orig' -e '/ft_memccpy/d' libft-unit-test/src/init.c || true + @grep -q 'ft_memccpy' libft-unit-test/hardcore-mode/hardcore-main.c && sed -i'.orig' -e '/ft_memccpy/d' libft-unit-test/hardcore-mode/hardcore-main.c || true + @grep -q 'test-memccpy' libft-unit-test/Makefile && sed -i'.orig' -e '/test-memccpy/d' libft-unit-test/Makefile || true + @rm -f libft-unit-test/hardcore-mode/test-memccpy.c || true + +d: compile _libft-unit-test + @make -C libft-unit-test f || true + +e: compile _libft-unit-test + @make -C libft-unit-test b || true + test: a b c d - @echo "done." update: @git pull compile: - @make -C $(LIBDIR) all - @$(CC) $(CFLAGS) $(SRC) -I${LIBDIR} -I$(HDRDIR) -L${LIBDIR} -l${LIB} -o $(OUT) + @make -C $(LIBRARY) all + @$(CC) $(CFLAGS) $(SRC) -I${LIBRARY} -I$(INCLUDE) -L${LIBRARY} ${LIBS} -o $(OUT) clean: - @make -C $(LIBDIR) clean + @make -C $(LIBRARY) clean @$(RM) $(RMFLAGS) $(OUT) fclean: clean @make -C libftTester clean || true @make -C libft-unit-test clean || true - @make -C $(LIBDIR) fclean + @make -C $(LIBRARY) fclean @$(RM) $(RMFLAGS) $(OUT) re: fclean all diff --git a/libft/README.md b/libft/README.md index f3e8bfb..25fa6d7 100644 --- a/libft/README.md +++ b/libft/README.md @@ -35,20 +35,20 @@ cd 42test/libft # Display various options make help -# Tripouille/libftTester (Very Good) +# Tripouille/libftTester (straight to the point) make b -# jtoty/Libftest (Also Nice) +# jtoty/Libftest (cool layout) make c -# nemequ/µnit w/ my own Unit Testing (Alpha software not working well) +# nemequ/µnit w/ my own Unit Testing (beta software not complete) make a -# work on MacOS X -# alelievr/libft-unit-test (Not sure that is a good idea to use it) +# works on MacOS X (and Linux if libbsd-dev installed and so: in libft/Makefile) +# alelievr/libft-unit-test (mind the protect == NULL) make d -# launch a b c d (All you can eat) +# launch a b c d e (All you can eat) make test ``` @@ -57,7 +57,8 @@ make test - a: [nemequ/µnit](https://nemequ.github.io/munit/) - b: [Tripouille/libftTester](https://github.com/Tripouille/libftTester) - c: [jtoty/Libftest](https://github.com/jtoty/Libftest) -- d: [alelievr/libft-unit-test](https://github.com/alelievr/libft-unit-test) +- d: [alelievr/libft-unit-test (tests)](https://github.com/alelievr/libft-unit-test) +- e: [alelievr/libft-unit-test (bench)](https://github.com/alelievr/libft-unit-test) Create subprojects ```