tiniest is a coreutils implementation that is as simple as possible.
Who needs a --version flag on a simple pwd or clear command? Not me.
tiniest was made as a C++ learning project, is a WIP and should not be
used in production as it purposely removes several features and in some
places even basic error checking.
My goal is to add a new program to tiniest every day. This is imo a
great way to learn.
Basically every command is different from GNU, but these differences were made
on purpose, other than the -v and -h stuff:
touch: only creates filesyes: ifargv[0]isno, outputninstead ofychroot: use/bin/shas def shell, use.as def dirclear: command originally fromncurses, not coreutilsecho: does not allow any flags, just prints all argumentshostname: readsrc/hostname.cppfor infols: currently does not have colors, withltotally diff formatkill: originally not from coreutils bututil-linux,SIGKILLby default, more into insrc/kill.cpprealpath: uses.as the path if none specifiedcp: readsrc/cp.cpp
We have a simple Makefile for compilation. It compiles every file in src/
as a separate program, and outputs it to bin/ (change with env: BIN_DIR).
By defualt, it uses g++, but you can switch the compiler by changing the
CXX enviroment variable, and you can change the flags with CXXFLAGS.
Start compilation:
make -j$(nproc)Clean:
make clean