diff options
| author | Sam Ravnborg <sam@mars.ravnborg.org> | 2006-01-25 01:13:18 -0500 |
|---|---|---|
| committer | Sam Ravnborg <sam@mars.ravnborg.org> | 2006-02-19 03:51:17 -0500 |
| commit | 06300b21f4c79fd1578f4b7ca4b314fbab61a383 (patch) | |
| tree | 9b9506e34286f0333ed747c47ec03fd5559f5b71 /Documentation/kbuild | |
| parent | bd71c2b17468a2531fb4c81ec1d73520845e97e1 (diff) | |
kbuild: support building individual files for external modules
Support building individual files when dealing with separate modules.
So say you have a module named "foo" which consist of two .o files bar.o
and fun.o.
You can then do:
make -C $KERNELSRC M=`pwd` bar.o
make -C $KERNELSRC M=`pwd` bar.lst
make -C $KERNELSRC M=`pwd` bar.i
make -C $KERNELSRC M=`pwd` / <= will build all .o files
and link foo.o
make -C $KERNELSRC M=`pwd` foo.ko <= will build the module
and do the modpost step
to create foo.ko
The above will also work if the external module is placed in a
subdirectory using a hirachy of kbuild files.
Thanks to Andreas Gruenbacher <agruen@suse.de> for initial feature
request / bug report.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'Documentation/kbuild')
| -rw-r--r-- | Documentation/kbuild/modules.txt | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Documentation/kbuild/modules.txt b/Documentation/kbuild/modules.txt index 7e77f93634ea..87d858df4e34 100644 --- a/Documentation/kbuild/modules.txt +++ b/Documentation/kbuild/modules.txt | |||
| @@ -13,6 +13,7 @@ In this document you will find information about: | |||
| 13 | --- 2.2 Available targets | 13 | --- 2.2 Available targets |
| 14 | --- 2.3 Available options | 14 | --- 2.3 Available options |
| 15 | --- 2.4 Preparing the kernel tree for module build | 15 | --- 2.4 Preparing the kernel tree for module build |
| 16 | --- 2.5 Building separate files for a module | ||
| 16 | === 3. Example commands | 17 | === 3. Example commands |
| 17 | === 4. Creating a kbuild file for an external module | 18 | === 4. Creating a kbuild file for an external module |
| 18 | === 5. Include files | 19 | === 5. Include files |
| @@ -131,6 +132,16 @@ when building an external module. | |||
| 131 | Therefore a full kernel build needs to be executed to make | 132 | Therefore a full kernel build needs to be executed to make |
| 132 | module versioning work. | 133 | module versioning work. |
| 133 | 134 | ||
| 135 | --- 2.5 Building separate files for a module | ||
| 136 | It is possible to build single files which is part of a module. | ||
| 137 | This works equal for the kernel, a module and even for external | ||
| 138 | modules. | ||
| 139 | Examples (module foo.ko, consist of bar.o, baz.o): | ||
| 140 | make -C $KDIR M=`pwd` bar.lst | ||
| 141 | make -C $KDIR M=`pwd` bar.o | ||
| 142 | make -C $KDIR M=`pwd` foo.ko | ||
| 143 | make -C $KDIR M=`pwd` / | ||
| 144 | |||
| 134 | 145 | ||
| 135 | === 3. Example commands | 146 | === 3. Example commands |
| 136 | 147 | ||
