Setting up proper makefile commands
Updating cleanup rules
Setting up file reading and writing
Fixing output gibberish issue
Adding semaphore lock and release code