Implementation of MacOS(Darwin) system command - ls, on C. [education project]
This project compiles using clang-compiler.
I also use submodules with SSH-key. For clone this project - be sure you are added SSH-key to your GitHub-profile and use this command:
git clone --recurse-submodules| Rule | Description |
|---|---|
| make | Compile libs and executable |
| pre | Re-compile only executable source files |
| debug[_all] | Compile with -g3 only |
| sanitize[_all] | Compile with the same rules as make debug but adding -fsanitize=address |
| debug_assembly[_all] | Compile with the rules as make debug but adding -S -masm=intel |
| assembly[_all] | Compile with default optimization rules but adding -S -masm=intel instead of -flto -fpic |
| re | Re-compile all libs and executable source files |
| clean | Delete all libs and executable .o files |
| fclean | Same as make clean but also delete libs .a and executable files |
*[_all] means exist two versions of the rule: *rule* and *rule*_all. The second one - for the re-build whole project via depended on make-rule compiler flags, when first one - only for compile changed files with specific flags.
usage: ./ft_ls [-GRSTafglrtu1] [file ...]| Flag | Description |
|---|---|
| -1 | Force output to be one entry per line. This is the default when output is not to a terminal. |
| -a | Include directory entries whose names begin with a dot '.'. |
| -f | Output is not sorted. This option implies -a. |
| -g | List in long format as in -l, except that the owner is not printed. |
| -l | List in long format. |
| -R | Recursively list subdirectories encountered. |
| -r | Reverse order while sorting. |
| -S | Sort files by size. |
| -T | Display complete time information for the file. |
| -t | Sort by modification time, newest first. |
| -u | Use file's last access time instead of last modification time for sorting (-t) or printing. |