# libft ## Setup Clone [42test](https://vogsphere.baco.net/baco/42test) ``` git clone --recurse-submodules https://vogsphere.baco.net/baco/42test.git 42test cd 42test git config pull.rebase false git config user.name "${USER-marvin}" git config user.email "${MAIL-marvin@student.42lausanne.ch}" ``` Create a link to the base of your libft (the one with libft.a and all ft_ and Makefile files) ``` cd libft make setup # You can also specify the path to your libft manually ln -snvf $HOME/libft libft ``` **Only for Linux** ``` sudo apt-get install -qq -y make gcc clang valgrind build-essential # for make d (alelievr/libft-unit-test) sudo apt-get install -qq -y libbsd-dev libncurses-dev vi 42test/libft/libft/Makefile LIB = libft.so so: $(OBJ) $(OBJ_BONUS) @$(CC) $(CFLAGS) -shared -fPIC -o $(LIB) $(OBJ) $(OBJ_BONUS) :wq ``` ## Usage ``` # Display various options make help # Tripouille/libftTester (straight to the point) make b # jtoty/Libftest (cool layout) make c # nemequ/µnit w/ my own Unit Testing (beta software not complete) make a # alelievr/libft-unit-test (mind the protect == NULL) # Linux: please install libbsd-dev and setup so: in your libft/Makefile (check info above) # MacOS X: ft_memmove and ft_strrchr will crash on Apple Silicon M1 and work on Intel make d make e # ysoroko/ft_split_tester make f # test bonuses make bonus # launch a b c d e f (All you can eat) make test ``` ## External Subprojects - 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 (tests)](https://github.com/alelievr/libft-unit-test) - e: [alelievr/libft-unit-test (bench)](https://github.com/alelievr/libft-unit-test) - f: [ysoroko/ft_split_tester](https://github.com/Ysoroko/FT_SPLIT_TESTER) ## Update ``` cd libft make update ``` ## REFERENCES How to add submodules (already done) ``` cd libft git submodule add -f https://github.com/jtoty/Libftest.git git submodule add -f https://github.com/alelievr/libft-unit-test.git git submodule add -f https://github.com/Tripouille/libftTester.git git submodule add -f https://github.com/nemequ/munit.git git submodule add -f https://github.com/Ysoroko/FT_SPLIT_TESTER.git vi ../.gitignore libft/Libftest libft/libft-unit-test libft/libftTester libft/munit libft/FT_SPLIT_TESTER :wq # add ignore vi ../.gitmodules [submodule "libft/Libftest"] ignore = dirty [submodule "libft/libft-unit-test"] ignore = dirty [submodule "libft/libfttester"] ignore = dirty [submodule "libft/munit"] ignore = dirty [submodule "libft/FT_SPLIT_TESTER"] ignore = dirty :wq ```