This makes it a hell of a lot simpler but will lose support for BSD
make. All effected machines are running gnu-make, so the cost benefit
ratio ways heavily in favor of doing this.
I don't really like the feel of this but this allows us to call
$(return_val_truthy) to output a value of tue or false based on the retrun value
of the last command. This saves us from having to do make the call ` && echo
true || echo false`.
I will probaby switch this in the future to just have a `echo $?` function
instead. Then check if returnVal == zero. If I do that I will also need to
change the way OS works, requiring true => 0 and false => 1, which is a little
bit conter to how it should be.
Shared logic can be imported via `include ../lib/shared.mk`
Helper functions include 3 current opperations
1. mk_link:: This will create a symbolic link if the file doesn't already exist.
2. rm_link:: Will remove the link if it is a symlink.
3. report :: This color codes the status of a message and adds a leading symbol.
report also can be called with `LAST_RETURN=$? report "message"`
and will expand this to be either `report info "message"` Or `report error
"message"` based on the last return value.
Current status are info, warn, and error.