link kernel_autoconf explicitly

explicitly link kernel_autoconf on each subdirectory
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 292b076..f00e268 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,7 +12,6 @@
 
 cmake_minimum_required(VERSION 3.7.2)
 
-link_libraries(kernel_autoconf)
 add_subdirectory(libsel4allocman)
 add_subdirectory(libsel4vka)
 add_subdirectory(libsel4utils)
diff --git a/libsel4allocman/CMakeLists.txt b/libsel4allocman/CMakeLists.txt
index bf145a0..1a06011 100644
--- a/libsel4allocman/CMakeLists.txt
+++ b/libsel4allocman/CMakeLists.txt
@@ -30,4 +30,13 @@
 add_library(sel4allocman STATIC EXCLUDE_FROM_ALL ${deps})
 target_include_directories(sel4allocman PUBLIC include "sel4_arch/${KernelSel4Arch}")
 target_include_directories(sel4allocman PUBLIC include "arch/${KernelArch}")
-target_link_libraries(sel4allocman muslc sel4 sel4vka sel4utils sel4vspace)
+target_link_libraries(
+    sel4allocman
+    PUBLIC
+        muslc
+        sel4
+        sel4vka
+        sel4utils
+        sel4vspace
+        kernel_autoconf
+)
diff --git a/libsel4bench/CMakeLists.txt b/libsel4bench/CMakeLists.txt
index 1db46bc..6bc42aa 100644
--- a/libsel4bench/CMakeLists.txt
+++ b/libsel4bench/CMakeLists.txt
@@ -39,4 +39,4 @@
 if(KernelArmArmV STREQUAL "armv7ve")
     target_include_directories(sel4bench PUBLIC "arch_include/${KernelArch}/armv/armv7-a")
 endif()
-target_link_libraries(sel4bench muslc sel4 utils sel4benchsupport)
+target_link_libraries(sel4bench muslc sel4 utils sel4benchsupport kernel_autoconf)
diff --git a/libsel4debug/CMakeLists.txt b/libsel4debug/CMakeLists.txt
index 8e66f45..eee8665 100644
--- a/libsel4debug/CMakeLists.txt
+++ b/libsel4debug/CMakeLists.txt
@@ -75,4 +75,4 @@
         "arch_include/${KernelArch}"
         sel4_arch_include/${KernelSel4Arch}
 )
-target_link_libraries(sel4debug PUBLIC muslc sel4 utils PRIVATE sel4debug_Config)
+target_link_libraries(sel4debug PUBLIC muslc sel4 utils PRIVATE sel4debug_Config kernel_autoconf)
diff --git a/libsel4debug/include/sel4debug/debug.h b/libsel4debug/include/sel4debug/debug.h
index e2c203c..a128ae5 100644
--- a/libsel4debug/include/sel4debug/debug.h
+++ b/libsel4debug/include/sel4debug/debug.h
@@ -13,7 +13,6 @@
 #pragma once
 
 #include <autoconf.h>
-#include <sel4debug/gen_config.h>
 
 #include <sel4/sel4.h>
 #include <sel4/types.h>
diff --git a/libsel4muslcsys/CMakeLists.txt b/libsel4muslcsys/CMakeLists.txt
index 4f0615c..e7c560f 100644
--- a/libsel4muslcsys/CMakeLists.txt
+++ b/libsel4muslcsys/CMakeLists.txt
@@ -73,9 +73,15 @@
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE=700 -DMUSLC_HIGHEST_SYSCALL=${HighestSyscall}")
 
 add_library(sel4muslcsys STATIC EXCLUDE_FROM_ALL ${deps})
-target_include_directories(
+target_include_directories(sel4muslcsys PUBLIC include)
+target_link_libraries(
     sel4muslcsys
     PUBLIC
-        include
+        muslc
+        sel4
+        cpio
+        utils
+        sel4utils
+        sel4muslcsys_Config
+    PRIVATE kernel_autoconf
 )
-target_link_libraries(sel4muslcsys muslc sel4 cpio utils sel4utils sel4muslcsys_Config)
diff --git a/libsel4platsupport/CMakeLists.txt b/libsel4platsupport/CMakeLists.txt
index 3b03a00..9ce6cda 100644
--- a/libsel4platsupport/CMakeLists.txt
+++ b/libsel4platsupport/CMakeLists.txt
@@ -79,15 +79,13 @@
 target_link_libraries(
     sel4platsupport
     PUBLIC
-    muslc
-    sel4
-    sel4runtime
-    sel4simple
-    utils
-    sel4vspace
-    platsupport
-    sel4simple-default
-    PRIVATE
-    sel4platsupport_Config
-    sel4muslcsys_Config
+        muslc
+        sel4
+        sel4runtime
+        sel4simple
+        utils
+        sel4vspace
+        platsupport
+        sel4simple-default
+    PRIVATE sel4platsupport_Config sel4muslcsys_Config kernel_autoconf
 )
diff --git a/libsel4serialserver/CMakeLists.txt b/libsel4serialserver/CMakeLists.txt
index 2ee9f43..b648874 100644
--- a/libsel4serialserver/CMakeLists.txt
+++ b/libsel4serialserver/CMakeLists.txt
@@ -36,16 +36,15 @@
 target_link_libraries(
     sel4serialserver
     PUBLIC
-    muslc
-    sel4
-    sel4vspace
-    sel4simple
-    sel4platsupport
-    utils
-    sel4utils
-    sel4vka
-    PRIVATE
-    sel4serialserver_Config
+        muslc
+        sel4
+        sel4vspace
+        sel4simple
+        sel4platsupport
+        utils
+        sel4utils
+        sel4vka
+    PRIVATE kernel_autoconf sel4serialserver_Config
 )
 
 add_library(sel4serialserver_tests STATIC EXCLUDE_FROM_ALL src/test.c)
diff --git a/libsel4simple-default/CMakeLists.txt b/libsel4simple-default/CMakeLists.txt
index 24dbeca..5d7e336 100644
--- a/libsel4simple-default/CMakeLists.txt
+++ b/libsel4simple-default/CMakeLists.txt
@@ -20,4 +20,13 @@
 
 add_library(sel4simple-default STATIC EXCLUDE_FROM_ALL ${deps})
 target_include_directories(sel4simple-default PUBLIC include)
-target_link_libraries(sel4simple-default PUBLIC muslc sel4 sel4simple sel4debug sel4vspace PRIVATE sel4debug_Config)
+target_link_libraries(
+    sel4simple-default
+    PUBLIC
+        muslc
+        sel4
+        sel4simple
+        sel4debug
+        sel4vspace
+    PRIVATE kernel_autoconf
+)
diff --git a/libsel4simple/CMakeLists.txt b/libsel4simple/CMakeLists.txt
index 57f846e..a844e5c 100644
--- a/libsel4simple/CMakeLists.txt
+++ b/libsel4simple/CMakeLists.txt
@@ -26,4 +26,4 @@
 
 add_library(sel4simple STATIC EXCLUDE_FROM_ALL ${deps})
 target_include_directories(sel4simple PUBLIC include "arch_include/${kernel_arch}")
-target_link_libraries(sel4simple muslc sel4 utils sel4vka)
+target_link_libraries(sel4simple muslc sel4 utils sel4vka kernel_autoconf)
diff --git a/libsel4sync/CMakeLists.txt b/libsel4sync/CMakeLists.txt
index 7087d9b..a0ca986 100644
--- a/libsel4sync/CMakeLists.txt
+++ b/libsel4sync/CMakeLists.txt
@@ -20,4 +20,4 @@
 
 add_library(sel4sync STATIC EXCLUDE_FROM_ALL ${deps})
 target_include_directories(sel4sync PUBLIC include)
-target_link_libraries(sel4sync muslc sel4 sel4vka platsupport utils)
+target_link_libraries(sel4sync muslc sel4 sel4vka platsupport utils kernel_autoconf)
diff --git a/libsel4test/CMakeLists.txt b/libsel4test/CMakeLists.txt
index f63c166..a652148 100644
--- a/libsel4test/CMakeLists.txt
+++ b/libsel4test/CMakeLists.txt
@@ -60,5 +60,6 @@
     sel4sync
     sel4simple
     sel4utils
+    kernel_autoconf
     sel4test_Config
 )
diff --git a/libsel4utils/CMakeLists.txt b/libsel4utils/CMakeLists.txt
index 9ed892f..f017e72 100644
--- a/libsel4utils/CMakeLists.txt
+++ b/libsel4utils/CMakeLists.txt
@@ -71,4 +71,5 @@
     elf
     cpio
     sel4utils_Config
+    kernel_autoconf
 )
diff --git a/libsel4vka/CMakeLists.txt b/libsel4vka/CMakeLists.txt
index e37f68b..a3e32ba 100644
--- a/libsel4vka/CMakeLists.txt
+++ b/libsel4vka/CMakeLists.txt
@@ -58,9 +58,14 @@
 add_library(sel4vka STATIC EXCLUDE_FROM_ALL ${deps})
 target_include_directories(
     sel4vka
-    PUBLIC
-        include
-        "sel4_arch_include/${KernelSel4Arch}"
-        "arch_include/${KernelArch}"
+    PUBLIC include "sel4_arch_include/${KernelSel4Arch}" "arch_include/${KernelArch}"
 )
-target_link_libraries(sel4vka PUBLIC muslc sel4 utils sel4vka_Config)
+target_link_libraries(
+    sel4vka
+    PUBLIC
+        muslc
+        sel4
+        utils
+        sel4vka_Config
+        kernel_autoconf
+)
diff --git a/libsel4vmm/CMakeLists.txt b/libsel4vmm/CMakeLists.txt
index 0db33ad..d667622 100644
--- a/libsel4vmm/CMakeLists.txt
+++ b/libsel4vmm/CMakeLists.txt
@@ -91,13 +91,13 @@
 target_link_libraries(
     sel4vmm
     PUBLIC
-    muslc
-    sel4
-    sel4utils
-    pci
-    sel4allocman
-    ethdrivers
-    platsupport
-    PRIVATE
-    sel4vmm_Config
+        muslc
+        sel4
+        sel4utils
+        pci
+        sel4allocman
+        ethdrivers
+        platsupport
+        sel4vmm_Config
+        kernel_autoconf
 )
diff --git a/libsel4vspace/CMakeLists.txt b/libsel4vspace/CMakeLists.txt
index 6d90d5b..89c7d12 100644
--- a/libsel4vspace/CMakeLists.txt
+++ b/libsel4vspace/CMakeLists.txt
@@ -25,9 +25,5 @@
 list(SORT deps)
 
 add_library(sel4vspace STATIC EXCLUDE_FROM_ALL ${deps})
-target_include_directories(sel4vspace
-    PUBLIC
-        include
-        "arch_include/${KernelArch}"
-)
-target_link_libraries(sel4vspace muslc sel4 sel4vka sel4utils_Config)
+target_include_directories(sel4vspace PUBLIC include "arch_include/${KernelArch}")
+target_link_libraries(sel4vspace muslc sel4 sel4vka kernel_autoconf sel4utils_Config)