diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-03-15 15:15:05 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-03-15 15:15:05 -0800 |
| commit | 952a0ae394f450c878aa2e408c23236896a2efac (patch) | |
| tree | 80f2bc92563ea25c4ce0d6614e164972cf170e59 /scripts/Makefile | |
| parent | 6f2dbcb9d373d13170c1ec0a5f72ac3fe8b77c7a (diff) | |
[PATCH] Fix early parallel make failures
From: Sam Ravnborg <sam@ravnborg.org>
Ingo said:
Starting at around 2.6.4-rc2-mm1, I keep seeing 'scripts/fixdep: Text
file busy' messages when doing a -j10 bzImage build - which seems to
suggest that by the time fixdep is used by the build system it's not
built yet.
Sam said:
I was pretty sure it was something I had caused, so I gave it a spin. What
actually happened was that we tried to build the target 'silentoldconfig'
in parrallel with 'scripts'. Since 'silentoldconfig' started a new make
and then the config target needed 'scripts' we saw two parallel runs.
The way I decided to fix it was to split scripts/ in two parts. The first
part is now the very basic stuff - moved to scripts/basic/. The second
part is dependent on kernel config etc. and kept in scripts/
In the 2.7 timeframe i will redo this initial stuff - it's becoming too
messy for anyone to understand today.
Description:
Fix dependencies in early phases of kernel build. This solves a few
problems nively: modpost is no longer rebuild twicewhen reaching the
'target' state 'make -j10' now works nicely again
The patch is rather large due to the following file moves:
mkdir scripts/basic
mv scripts/fixdep.c scripts/basic
mv scripts/split-include.c scripts/basic
mv scripts/docproc.c scripts/basic
Diffstat (limited to 'scripts/Makefile')
| -rw-r--r-- | scripts/Makefile | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/scripts/Makefile b/scripts/Makefile index 044afd55a77d..8de642c6e8b6 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -2,14 +2,10 @@ # scripts contains sources for various helper programs used throughout # the kernel for the build process. # --------------------------------------------------------------------------- -# fix-dep: Used to generate dependency information during build process -# split-include: Divide all config symbols up in a number of files in -# include/config/... # docproc: Preprocess .tmpl file in order to generate .sgml docs # conmakehash: Create arrays for initializing the kernel console tables -host-progs := fixdep split-include conmakehash docproc kallsyms modpost \ - mk_elfconfig pnmtologo bin2c +host-progs := conmakehash kallsyms modpost mk_elfconfig pnmtologo bin2c always := $(host-progs) empty.o modpost-objs := modpost.o file2alias.o sumversion.o @@ -17,10 +13,7 @@ modpost-objs := modpost.o file2alias.o sumversion.o subdir-$(CONFIG_MODVERSIONS) += genksyms # Let clean descend into subdirs -subdir- += lxdialog kconfig - -# fixdep is needed to compile other host programs -$(addprefix $(obj)/,$(filter-out fixdep,$(always)) $(subdir-y)): $(obj)/fixdep +subdir- += basic lxdialog kconfig # dependencies on generated files need to be listed explicitly |
