diff options
| author | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2002-06-09 06:26:40 -0500 |
|---|---|---|
| committer | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2002-06-09 06:26:40 -0500 |
| commit | d84e208ad2877ac7616f32dfed47eeb2952d3416 (patch) | |
| tree | 739050f06f2364b9e0970411012107943e23ee7d /Makefile | |
| parent | badaa98e8c630535dd2cc3d3d2aa34ef73ef2ed7 (diff) | |
kbuild: Generate modversions only for selected objects
Up to now, we generated module versions for all objects which
were listed in $(export-objs).
This had one advantage: A changed .config will not affect which
.ver files are built, thus saving recompiles.
However, it is fundamentally broken. To build .ver files, we preprocess
the exporting sources - and the result can obviously depend on
the current .config. Even worse, some files generate errors when
preprocessed with the wrong .config - it doesn't matter a lot that
drivers/sbus/* will generate errors on x86, since it won't be used anyway,
but e.g. kernel/suspend.c cannot be preprocessed unless
CONFIG_SOFTWARE_SUSPEND is set. - Up to now, we just silently ignore
these errors.
Actually, the whole point behind CONFIG_MODVERSIONS is to make sure
we don't insert modules into a kernel which was configured differently,
and as such the generation of symbols can only work when .config is
known.
So we now only generate symbols for objects which will actually be
compiled - which means less work, and enforce the kernel to be configured
before "make dep".
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -243,14 +243,14 @@ $(sort $(vmlinux-objs)): $(SUBDIRS) ; # Handle descending into subdirectories listed in $(SUBDIRS) .PHONY: $(SUBDIRS) -$(SUBDIRS): .hdepend prepare include/config/MARKER +$(SUBDIRS): .hdepend prepare @$(MAKE) -C $@ # Things we need done before we descend to build or make # module versions are listed in "prepare" .PHONY: prepare -prepare: include/linux/version.h include/asm +prepare: include/linux/version.h include/asm include/config/MARKER # Single targets # --------------------------------------------------------------------------- |
