| 1 | |
| 2 | |
| 3 |
|
| 4 | |
| 5 | |
| 6 | set -e
|
| 7 | tarfile=$1
|
| 8 | srclist=$2
|
| 9 | objlist=$3
|
| 10 | timestamp=$4
|
| 11 |
|
| 12 | dir=$(dirname "${tarfile}")
|
| 13 | tmpdir=${dir}/.tmp_dir
|
| 14 | depfile=${dir}/.$(basename "${tarfile}").d
|
| 15 |
|
| 16 | |
| 17 | {
|
| 18 | echo
|
| 19 | echo "deps_${tarfile} := \\"
|
| 20 | sed 's:\(.*\): \1 \\:' "${srclist}"
|
| 21 | sed -n '/^include\/generated\/autoconf\.h$/!s:\(.*\): \1 \\:p' "${objlist}"
|
| 22 | echo
|
| 23 | echo "${tarfile}: \$(deps_${tarfile})"
|
| 24 | echo
|
| 25 | echo "\$(deps_${tarfile}):"
|
| 26 |
|
| 27 | } > "${depfile}"
|
| 28 |
|
| 29 | rm -rf "${tmpdir}"
|
| 30 | mkdir "${tmpdir}"
|
| 31 |
|
| 32 | |
| 33 | sed "s:^${srctree}/::" "${srclist}" | ${TAR} -c -f - -C "${srctree}" -T - | ${TAR} -xf - -C "${tmpdir}"
|
| 34 | ${TAR} -c -f - -T "${objlist}" | ${TAR} -xf - -C "${tmpdir}"
|
| 35 |
|
| 36 | |
| 37 | |
| 38 | |
| 39 | find "${tmpdir}" -type f -print0 > "${tmpdir}.contents.txt"
|
| 40 | xargs -0 -P8 -n1 \
|
| 41 | perl -pi -e 'BEGIN {undef $/;}; s/\/\*((?!SPDX).)*?\*\///smg;' \
|
| 42 | < "${tmpdir}.contents.txt"
|
| 43 | rm -f "${tmpdir}.contents.txt"
|
| 44 |
|
| 45 | |
| 46 | ${TAR} "${timestamp:+--mtime=$timestamp}" \
|
| 47 | --owner=0 --group=0 --sort=name --numeric-owner --mode=u=rw,go=r,a+X \
|
| 48 | -I "${XZ}" -cf "${tarfile}" -C "${tmpdir}/" . > /dev/null
|
| 49 |
|
| 50 | rm -rf "${tmpdir}"
|