Hi Masahiro, On 2024-07-27 16:42:03+0000, Masahiro Yamada wrote: > Exclude directories and files unnecessary for building external modules: > > - include/config/ (except include/config/auto.conf) > - scripts/atomic/ > - scripts/dtc/ > - scripts/kconfig/ > - scripts/mod/mk_elfconfig > - scripts/package/ > - scripts/unifdef > - .config > - *.o > - .*.cmd > > Avoid copying files twice for the following directories: > > - include/generated/ > - arch/*/include/generated/ > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > --- > > scripts/package/install-extmod-build | 20 +++++++++++++++----- > 1 file changed, 15 insertions(+), 5 deletions(-) > > diff --git a/scripts/package/install-extmod-build b/scripts/package/install-extmod-build > index 8cc9e13403ae..cc335945dfbc 100755 > --- a/scripts/package/install-extmod-build > +++ b/scripts/package/install-extmod-build > @@ -9,15 +9,22 @@ is_enabled() { > grep -q "^$1=y" include/config/auto.conf > } > > +find_in_scripts() { > + find scripts \ > + \( -name atomic -o -name dtc -o -name kconfig -o -name package \) -prune -o \ > + ! -name unifdef -a ! -name mk_elfconfig -a \( -type f -o -type l \) -print > +} > + > mkdir -p "${destdir}" > > ( > cd "${srctree}" > echo Makefile > find "arch/${SRCARCH}" -maxdepth 1 -name 'Makefile*' > - find include scripts -type f -o -type l > + find "arch/${SRCARCH}" -name generated -prune -o -name include -type d -print > find "arch/${SRCARCH}" -name Kbuild.platforms -o -name Platform > - find "arch/${SRCARCH}" -name include -type d > + find include \( -name config -o -name generated \) -prune -o \( -type f -o -type l \) -print > + find_in_scripts > ) | tar -c -f - -C "${srctree}" -T - | tar -xf - -C "${destdir}" > > { > @@ -25,12 +32,15 @@ mkdir -p "${destdir}" > echo tools/objtool/objtool > fi > > - find "arch/${SRCARCH}/include" Module.symvers include scripts -type f > + echo Module.symvers > + echo "arch/${SRCARCH}/include/generated" > + echo include/config/auto.conf > + echo include/generated > + find_in_scripts This now excludes include/config/kernel.release which is used to set KERNELRELEASE, which is commonly used by Makefiles. See Documentation/kbuild/modules.txt, other users also seem not unlikely. IMO this specific file should be added back. Thanks, Thomas