initrd: Handle ${DESTDIR} when building rescue tools
authorAaron LI <aly@aaronly.me>
Wed, 27 Jun 2018 01:36:05 +0000 (09:36 +0800)
committerAaron LI <aly@aaronly.me>
Wed, 4 Jul 2018 09:46:38 +0000 (17:46 +0800)
commit4e60e668e7ed5a59f1bb342d7c6dd2d678a4b93f
tree3980534319c078c777ad832847f0d6214be1d5dd
parentbd01e1de2c165bd5fb9ac8684bec59636ca5e523
initrd: Handle ${DESTDIR} when building rescue tools

When building rescue tools for a target system (e.g., create release
build), use tools (e.g., crunchide, crunchgen, cc), headers and libraries
from the target root (${DESTDIR}).

NOTE:
GCC is more tolerant (e.g., doesn't warn about unused variables) to
system headers than user headers, so we have to use "-isystem <inc_dir>"
instead of "-I<dir>", but the former (option syntax) causes difficulty
for <bsd.dep.mk> to filter the options to call mkdep(1).  Therefore, we
use "--sysroot=${DESTDIR}" and it's simpler than specifying headers paths
with "-I<dir>" and library paths with "-L<dir>".

Meanwhile, improve the commands logic in Makefile, and set LC_ALL=C.
initrd/Makefile
initrd/Makefile.inc
initrd/rescue.libcrypto/Makefile
initrd/rescue/Makefile
share/mk/bsd.crunchgen.mk
share/mk/bsd.dep.mk