summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>2002-06-09 06:26:40 -0500
committerKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>2002-06-09 06:26:40 -0500
commitd84e208ad2877ac7616f32dfed47eeb2952d3416 (patch)
tree739050f06f2364b9e0970411012107943e23ee7d /Makefile
parentbadaa98e8c630535dd2cc3d3d2aa34ef73ef2ed7 (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--Makefile4
1 files changed, 2 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 9732cbd8a0a0..9a07d56f6f4e 100644
--- a/Makefile
+++ b/Makefile
@@ -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
# ---------------------------------------------------------------------------