Skip to contentSkip to conversation

kbuild: Document lib-y

PATCH In review Sam Ravnborg 2 participants 3 messages Jun 8, 2003 – Jun 21, 2003

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 kbuild: Document lib-y

Hi Linus, documentation for the newly added lib-y.

Sam
===== Documentation/kbuild/makefiles.txt 1.8 vs edited =====

Documentation/kbuild/makefiles.txt +23 -10
@@ -11,7 +11,7 @@
 	   --- 3.2 Built-in object goals - obj-y
 	   --- 3.3 Loadable module goals - obj-m
 	   --- 3.4 Objects which export symbols
-	   --- 3.5 Library file goals - L_TARGET
+	   --- 3.5 Library file goals - lib-y
 	   --- 3.6 Descending down in directories
 	   --- 3.7 Compilation flags
 	   --- 3.8 Command line dependency
@@ -214,20 +214,33 @@
 	modules exporting symbols.
 	See also Documentation/modules.txt.
 
---- 3.5 Library file goals - L_TARGET
+--- 3.5 Library file goals - lib-y
 
-	Instead of building a built-in.o file, you may also
-	build an archive which again contains objects listed in $(obj-y).
-	This is normally not necessary and only used in lib/ and 
-	arch/$(ARCH)/lib directories.
-	Only the name lib.a is allowed.
+	Objects listed with obj-* is used for modules or
+	are combined in a built-in.o for that specific directory.
+	There is also the possibility to list objects that will
+	be included in a library, lib.a.
+	All objects listed with lib-y are combined in a single
+	library for that directory.
+	Objects that are listed in obj-y and additional listed in
+	lib-y will not be included in the library, since they will anyway
+	be accessible.
+	For consistency objects listed in lib-m will be included in lib.a. 
+
+	Note that the same kbuild makefile may list files to be built-in
+	and to be part of a library. Therefore the same directory
+	may contain both a built-in.o and a lib.a file.
 
 	Example:
 		#arch/i386/lib/Makefile
-		L_TARGET := lib.a
-		obj-y    := checksum.o delay.o
+		lib-y    := checksum.o delay.o
 
 	This will create a library lib.a based on checksum.o and delay.o.
+	For kbuild to actually recognize that there is a lib.a being build
+	the directory shall be listed in libs-y.
+	See also "6.3 List directories to visit when descending".
+ 
+	Usage of lib-y is normally restricted to lib/ and arch/*/lib.
 
 --- 3.6 Descending down in directories
 
@@ -727,7 +740,7 @@
     head-y, init-y, core-y, libs-y, drivers-y, net-y
 
 	$(head-y) list objects to be linked first in vmlinux.
-	$(libs-y) list directories where a libs.a archive can be located.
+	$(libs-y) list directories where a lib.a archive can be located.
 	The rest list directories where a built-in.o object file can be located.
 
 	$(init-y) objects will be located after $(head-y).
#1 lore raw

Hi Sam.

Quoted 1 line

Hi Linus, documentation for the newly added lib-y.

Minor grammatical tweaks to the same...

Quoted 6 lines

===== Documentation/kbuild/makefiles.txt 1.8 vs edited =====

Documentation/kbuild/makefiles.txt +0 -0
@@ -214,20 +214,33 @@
 	modules exporting symbols.
 	See also Documentation/modules.txt.

Documentation/kbuild/makefiles.txt line 219

Quoted 10 lines
Documentation/kbuild/makefiles.txt +2 -6
 
---- 3.5 Library file goals - L_TARGET
+--- 3.5 Library file goals - lib-y
 
-	Instead of building a built-in.o file, you may also
-	build an archive which again contains objects listed in $(obj-y).
-	This is normally not necessary and only used in lib/ and 
-	arch/$(ARCH)/lib directories.
-	Only the name lib.a is allowed.
+	Objects listed with obj-* is used for modules or
                                ^^

That should be "are" ?

Documentation/kbuild/makefiles.txt line 220

Quoted 1 line
Documentation/kbuild/makefiles.txt +1 -0
+	are combined in a built-in.o for that specific directory.
      ^^^

That shouldn't be there.

Best wishes from Riley.
---
* Nothing as pretty as a smile, nothing as ugly as a frown.

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.490 / Virus Database: 289 - Release Date: 16-Jun-2003

#2 lore raw
Quoted 5 lines · Riley Williams

Hi Sam.

Quoted 1 line

Hi Linus, documentation for the newly added lib-y.

Minor grammatical tweaks to the same...

Thanks, done.

Sam