[PATCH] kbuild SUBDIRS="more/ than/ one/"

From: Andreas Gruenbacher
Date: Wed May 12 2004 - 08:38:02 EST


Here is a patch that re-adds support for more than one directory in
SUBDIRS. We have a number of packages that use this.

The FORCE dependency of crmodverdir seems unnecessary; removing.


Index: linux-2.6.5/Makefile
===================================================================
--- linux-2.6.5.orig/Makefile
+++ linux-2.6.5/Makefile
@@ -110,7 +110,7 @@ $(if $(wildcard $(KBUILD_OUTPUT)),, \
$(filter-out _all,$(MAKECMDGOALS)) _all:
$(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \
KBUILD_SRC=$(CURDIR) KBUILD_VERBOSE=$(KBUILD_VERBOSE) \
- KBUILD_CHECK=$(KBUILD_CHECK) KBUILD_EXTMOD=$(KBUILD_EXTMOD) \
+ KBUILD_CHECK=$(KBUILD_CHECK) KBUILD_EXTMOD="$(KBUILD_EXTMOD)" \
-f $(CURDIR)/Makefile $@

# Leave processing to above invocation of make
@@ -325,7 +325,7 @@ export AFLAGS AFLAGS_KERNEL AFLAGS_MODUL
# When compiling out-of-tree modules, put MODVERDIR in the module
# tree rather than in the kernel tree. The kernel tree might
# even be read-only.
-export MODVERDIR := $(if
$(KBUILD_EXTMOD),$(KBUILD_EXTMOD)/).tmp_versions
+export MODVERDIR := $(if $(KBUILD_EXTMOD),$(firstword
$(KBUILD_EXTMOD))/).tmp_versions

# The temporary file to save gcc -MD generated dependencies must not
# contain a comma
@@ -951,15 +951,15 @@ else # KBUILD_EXTMOD
# We are always building modules
KBUILD_MODULES := 1
.PHONY: crmodverdir
-crmodverdir: FORCE
+crmodverdir:
$(Q)mkdir -p $(MODVERDIR)

-.PHONY: $(KBUILD_EXTMOD)
-$(KBUILD_EXTMOD): crmodverdir FORCE
- $(Q)$(MAKE) $(build)=$@
-
-.PHONY: modules
-modules: $(KBUILD_EXTMOD)
+module-dirs := $(addprefix _module_,$(KBUILD_EXTMOD))
+.PHONY: $(module-dirs) modules
+$(module-dirs): crmodverdir
+ $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
+
+modules: $(module-dirs)
@echo ' Building modules, stage 2.';
$(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost

@@ -967,7 +967,7 @@ modules: $(KBUILD_EXTMOD)
modules_install:
$(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modinst

-clean-dirs := _clean_$(KBUILD_EXTMOD)
+clean-dirs := $(addprefix _clean_,$(KBUILD_EXTMOD))

.PHONY: $(clean-dirs) clean
$(clean-dirs):


Cheers,
--
Andreas Gruenbacher <agruen@xxxxxxx>
SUSE Labs, SUSE LINUX AG


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/