diff --git a/hw-tests/bmatest/meson.build b/hw-tests/bmatest/meson.build
index 6cf3d401a4c986e1ddc6323bff824b89906ba8fa..0f3899a241f43665aa20c5708f20a5bb97548f7f 100644
--- a/hw-tests/bmatest/meson.build
+++ b/hw-tests/bmatest/meson.build
@@ -4,7 +4,7 @@ executable(
   name + '.elf',
   'main.c',
   dependencies: [libcard10, max32665_startup],
-  link_whole: max32665_startup_lib,
+  link_whole: [max32665_startup_lib, board_card10_lib],
   link_args: [
     '-Wl,-Map=' + meson.current_build_dir() + '/' + name + '.map',
   ],
diff --git a/hw-tests/bmetest/meson.build b/hw-tests/bmetest/meson.build
index 212ad7463f83620dfe14bbd5078678712a160f34..ed1e72b98faa0f931ea3484bad18b201db2c6bb5 100644
--- a/hw-tests/bmetest/meson.build
+++ b/hw-tests/bmetest/meson.build
@@ -4,7 +4,7 @@ executable(
   name + '.elf',
   'main.c',
   dependencies: [libcard10, max32665_startup],
-  link_whole: max32665_startup_lib,
+  link_whole: [max32665_startup_lib, board_card10_lib],
   link_args: [
     '-Wl,-Map=' + meson.current_build_dir() + '/' + name + '.map',
   ],
diff --git a/hw-tests/dual-core/meson.build b/hw-tests/dual-core/meson.build
index 2fbc9644a0c318ef766ed2cc3b24db187bc6fccf..783b8775571136c97ebff152e4276600ae216a7f 100644
--- a/hw-tests/dual-core/meson.build
+++ b/hw-tests/dual-core/meson.build
@@ -3,7 +3,7 @@ executable(
   name + '.elf',
   'main.c',
   dependencies: [libcard10, max32665_startup_core0],
-  link_whole: max32665_startup_core0_lib,
+  link_whole: [max32665_startup_core0_lib, board_card10_lib],
   link_args: [
     '-Wl,-Map=' + meson.current_build_dir() + '/' + name + '.map',
   ],
@@ -14,7 +14,7 @@ executable(
   name + '.elf',
   'core1.c',
   dependencies: [periphdriver, board_card10, max32665_startup_core1],
-  link_whole: max32665_startup_core1_lib,
+  link_whole: [max32665_startup_core1_lib, board_card10_lib],
   link_args: [
     '-Wl,-Map=' + meson.current_build_dir() + '/' + name + '.map',
   ],
diff --git a/hw-tests/ecgtest/meson.build b/hw-tests/ecgtest/meson.build
index b370a69690c2f41062251b51db606cec99b37e88..7e4f32d00573a1a2105dc9023848c9295904d0de 100644
--- a/hw-tests/ecgtest/meson.build
+++ b/hw-tests/ecgtest/meson.build
@@ -4,7 +4,7 @@ executable(
   name + '.elf',
   'main.c',
   dependencies: [libcard10, max32665_startup],
-  link_whole: max32665_startup_lib,
+  link_whole: [max32665_startup_lib, board_card10_lib],
   link_args: [
     '-Wl,-Map=' + meson.current_build_dir() + '/' + name + '.map',
   ],
diff --git a/hw-tests/hello-freertos/meson.build b/hw-tests/hello-freertos/meson.build
index c0d54ceac66152c3521938379756d5c163ebab20..fae1dbd229d6223d59a409503b8801edfce7a1e2 100644
--- a/hw-tests/hello-freertos/meson.build
+++ b/hw-tests/hello-freertos/meson.build
@@ -22,7 +22,7 @@ executable(
   include_directories: freertos_sdk_includes,
   dependencies: [libcard10, max32665_startup],
   link_with: freertos,
-  link_whole: max32665_startup_lib,
+  link_whole: [max32665_startup_lib, board_card10_lib],
   link_args: [
     '-Wl,-Map=' + meson.current_build_dir() + '/' + name + '.map',
   ],
diff --git a/hw-tests/hello-world/meson.build b/hw-tests/hello-world/meson.build
index 258d1cfbf8c5666ee7b12ad9d986e9f88a7a3ffe..7519ca62510228c5a911a369a2ffbb9887abc4f0 100644
--- a/hw-tests/hello-world/meson.build
+++ b/hw-tests/hello-world/meson.build
@@ -4,7 +4,7 @@ executable(
   name + '.elf',
   'main.c',
   dependencies: [libcard10, max32665_startup],
-  link_whole: max32665_startup_lib,
+  link_whole: [max32665_startup_lib, board_card10_lib],
   link_args: [
     '-Wl,-Map=' + meson.current_build_dir() + '/' + name + '.map',
   ],
diff --git a/hw-tests/imutest/meson.build b/hw-tests/imutest/meson.build
index 28d896975179add7ac970a80b792763a1ef3d0cd..18825ee67a0f7e04269bf8a610c14401417d2343 100644
--- a/hw-tests/imutest/meson.build
+++ b/hw-tests/imutest/meson.build
@@ -4,7 +4,7 @@ executable(
   name + '.elf',
   'main.c',
   dependencies: [libcard10, max32665_startup],
-  link_whole: max32665_startup_lib,
+  link_whole: [max32665_startup_lib, board_card10_lib],
   link_args: [
     '-Wl,-Map=' + meson.current_build_dir() + '/' + name + '.map',
   ],
diff --git a/hw-tests/ips/meson.build b/hw-tests/ips/meson.build
index f38fedd3a07240c9557b9f2e7f98982294b4fe67..10ff3cf7731acececa4a83f338b8b5519ed63007 100644
--- a/hw-tests/ips/meson.build
+++ b/hw-tests/ips/meson.build
@@ -6,7 +6,7 @@ executable(
   'image/image.c',
   'image/image2.c',
   dependencies: [libcard10, max32665_startup],
-  link_whole: max32665_startup_lib,
+  link_whole: [max32665_startup_lib, board_card10_lib],
   link_args: [
     '-Wl,-Map=' + meson.current_build_dir() + '/' + name + '.map',
   ],
diff --git a/lib/sdk/Libraries/Boards/card10/meson.build b/lib/sdk/Libraries/Boards/card10/meson.build
index c84a528e4d98891f54839e765848df4bf423da18..7d28fc04443375d7a07f4ad0dbe3dd9e57370116 100644
--- a/lib/sdk/Libraries/Boards/card10/meson.build
+++ b/lib/sdk/Libraries/Boards/card10/meson.build
@@ -11,7 +11,7 @@ sources = files(
   '../Source/stdio.c',
 )
 
-lib = static_library(
+board_card10_lib = static_library(
   'board-card10',
   sources,
   include_directories: includes,
@@ -20,5 +20,4 @@ lib = static_library(
 
 board_card10 = declare_dependency(
   include_directories: includes,
-  link_whole: lib,
 )