[build] Add build knowledge of dynamic libraries

Bonnibel will now build dynamic libraries when they're dependencies for
non-statically linked modules. It will also copy those shared libraries
into the initrd image for programs being copied into the image.
This commit is contained in:
Justin C. Miller
2023-08-26 19:06:18 -07:00
parent c4bb60299e
commit eda816ad90
15 changed files with 122 additions and 62 deletions

View File

@@ -1,5 +1,3 @@
# This file is automatically generated by bonnibel
rule compile.c
command = $cc -MMD -MF $out.d $cflags $ccflags -o $out -c $in
description = Compiling [$target]:$name
@@ -42,15 +40,19 @@ rule parse.cog
rule exe
command = $ld $ldflags -o $out $in $libs
description = Linking $name
rule lib
command = $ar qcs $out $in
description = Archiving [$target]:$name
description = Linking exe [$target]:$name
rule driver
command = $ld $ldflags -shared -o $out $in $libs
description = Linking $name
command = $ld $ldflags -o $out $in $libs
description = Linking driver [$target]:$name
rule lib
command = $ld -shared $ldflags -o $out $in $libs
description = Linking [$target]:$name
rule lib_static
command = $ar qcs $out $in
description = Archiving [$target]:$name
rule cp
command = cp $in $out