Sometimes you want something like a symlink but isn't acutally a symlink so you can maintain cross platform support, I created this program which allows us to do this.
To operate this, whenever you want to do ln -s /a/b/c/d/e.txt /h/i/j/k/l.txt, instead you create a /h/i/j/k/.flinks file with the contents /a/b/c/d/e.txt -> l.txt.
A real example of a .flinx file can look like this:
.flinks
sphere_orbiter -> ../single_player/src/system_logic/sphere_orbiter
random_vector -> ../single_player/src/system_logic/random_vector
sphere_orbiter -> ../server/src/system_logic/sphere_orbiter
random_vector -> ../server/src/system_logic/random_vector
...
In the above we demonstrated that you can use directories as well as files. Note that the paths are relative to the directory containing the .flinx file and the format is SOURCE -> DEST.
The previous .flinx file was pushing out the local sphere_orbiter and random_vector directories out to where they should be. On the other hand we can have more of a pulling file like this:
../../src/utility/logger/logger/ -> logger
Where we're grabbing what we need and bringing it into the currect directory.