Makefile: Dereference symlinks on install
authorFilip Filmar <fmil@google.com>
Tue, 16 May 2023 02:38:45 +0000 (02:38 +0000)
committerAnup Patel <anup@brainfault.org>
Mon, 22 May 2023 03:22:57 +0000 (08:52 +0530)
commitd4c46e0ff1b0ead9d5a586e1a19a00a92160206d
treea4fe3bf35425d1f12442494f8845087aec6a53d5
parent33f1722f2b6e1ad8f8bd0675271e3c7998d448c2
Makefile: Dereference symlinks on install

Adds the `-L` flag (follow symlinks) to the `cp` commands used to
install `libsbi.a` and `include/sbi/*`.

This should make no difference in regular compilation. However,
it does make a difference when compiling with bazel.  Namely,
bazel's sandboxing will turn all the source files into symlinks.
After installation with `cp` the destination files will be
symlinks pointing to the sandbox symlinks. As the sandbox files
are removed when compilation ends, the just-copied symlinks
become dangling symlinks.

The resulting include files will be
unusable due to the dangling symlink issues. Adding `-L` when
copying ensures that the files obtained by executing the `install`
targets are always dereferenced to files, rather than symlinks,
eliminating this issue.

Signed-off-by: Filip Filmar <fmil@google.com>
Reviewed-by: Xiang W <wxjstz@126.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Makefile