Prevent build script from confusing Cargo

It seems that re-generating link.rs in .build.sh confuses Cargo into
thinking that the code has changed and needs to be rebuilt. This commit
changes the build script to only generate link.rs, if it doesn't already
exist, thereby fixing this problem.