summaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-03-07 15:08:04 -0500
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-03-07 15:08:04 -0500
commit2995e97cd489abeeedf90ac60b4b98499661ce7e (patch)
treefa76bacff20df4c88c6d7973b56ba3be588a36d3 /example
parent317c70674d1d889b98b3b127099ab876f55f1f2d (diff)
feat: Kconfig support added
Initial support for Kconfiglib has been added. This includes menuconfig, savedefconfig, defconfig, and config.h generation.
Diffstat (limited to 'example')
-rw-r--r--example/.config1
-rw-r--r--example/Kconfig8
-rw-r--r--example/Makefile7
-rw-r--r--example/config.h1
-rw-r--r--example/configs/8_defconfig1
-rw-r--r--example/libfib/Makefile2
-rw-r--r--example/libfib/fib.obin0 -> 640 bytes
-rw-r--r--example/libfib/libfib.abin0 -> 824 bytes
-rwxr-xr-xexample/libfib/libfib.so.1.1bin0 -> 16784 bytes
-rw-r--r--example/test/Makefile3
-rwxr-xr-xexample/test/mainbin0 -> 33464 bytes
-rw-r--r--example/test/main.c3
-rw-r--r--example/test/main.obin0 -> 800 bytes
l---------example/tools1
m---------example/tools/Kconfiglib0
l---------example/tools/mk1
16 files changed, 22 insertions, 6 deletions
diff --git a/example/.config b/example/.config
new file mode 100644
index 0000000..5140cd9
--- /dev/null
+++ b/example/.config
@@ -0,0 +1 @@
+CONFIG_FIB_NUMBER=8
diff --git a/example/Kconfig b/example/Kconfig
new file mode 100644
index 0000000..11c2de0
--- /dev/null
+++ b/example/Kconfig
@@ -0,0 +1,8 @@
+mainmenu "Example Program Configuration"
+
+config FIB_NUMBER
+ int "Fibonacci Number"
+ default 9
+ help
+ Which Fibonacci number you would like.
+
diff --git a/example/Makefile b/example/Makefile
index b0e81b3..3b69ed1 100644
--- a/example/Makefile
+++ b/example/Makefile
@@ -3,7 +3,10 @@
#
# SPDX-License-Identifier: BSD-2-Clause
#
-SUBDIRS = libfib test
+SUBDIRS = libfib test
+KCONFIGLIB_DIR = tools/Kconfiglib
+GENERATED_HEADER = config.h
-include tools/mcd.subdir.mk
+include tools/mk/mcd.subdir.mk
+include tools/mk/mcd.Kconfig.mk
diff --git a/example/config.h b/example/config.h
new file mode 100644
index 0000000..3efc17a
--- /dev/null
+++ b/example/config.h
@@ -0,0 +1 @@
+#define CONFIG_FIB_NUMBER 8
diff --git a/example/configs/8_defconfig b/example/configs/8_defconfig
new file mode 100644
index 0000000..5140cd9
--- /dev/null
+++ b/example/configs/8_defconfig
@@ -0,0 +1 @@
+CONFIG_FIB_NUMBER=8
diff --git a/example/libfib/Makefile b/example/libfib/Makefile
index 4df5255..fae976f 100644
--- a/example/libfib/Makefile
+++ b/example/libfib/Makefile
@@ -13,5 +13,5 @@ CFLAGS = -Wall \
-std=c17
SRCS = fib.c
-include ../tools/mcd.lib.mk
+include ../tools/mk/mcd.lib.mk
diff --git a/example/libfib/fib.o b/example/libfib/fib.o
new file mode 100644
index 0000000..9380b6f
--- /dev/null
+++ b/example/libfib/fib.o
Binary files differ
diff --git a/example/libfib/libfib.a b/example/libfib/libfib.a
new file mode 100644
index 0000000..6c7c483
--- /dev/null
+++ b/example/libfib/libfib.a
Binary files differ
diff --git a/example/libfib/libfib.so.1.1 b/example/libfib/libfib.so.1.1
new file mode 100755
index 0000000..2ed114c
--- /dev/null
+++ b/example/libfib/libfib.so.1.1
Binary files differ
diff --git a/example/test/Makefile b/example/test/Makefile
index 041722b..7bdeca0 100644
--- a/example/test/Makefile
+++ b/example/test/Makefile
@@ -10,9 +10,10 @@ CFLAGS = -Wall \
-Wextra \
-Wpedantic \
-I../libfib \
+ -I.. \
-std=c17
LDFLAGS = -L../libfib \
-lfib
-include ../tools/mcd.prog.mk
+include ../tools/mk/mcd.prog.mk
diff --git a/example/test/main b/example/test/main
new file mode 100755
index 0000000..50681f9
--- /dev/null
+++ b/example/test/main
Binary files differ
diff --git a/example/test/main.c b/example/test/main.c
index b5a75b1..92e3b29 100644
--- a/example/test/main.c
+++ b/example/test/main.c
@@ -5,9 +5,10 @@
//
#include <stdio.h>
#include "fib.h"
+#include "config.h"
int main(void) {
- printf("fib(9) = %llu\n", fib(9));
+ printf("fib(%u) = %llu\n", CONFIG_FIB_NUMBER, fib(CONFIG_FIB_NUMBER));
return 0;
}
diff --git a/example/test/main.o b/example/test/main.o
new file mode 100644
index 0000000..62fd238
--- /dev/null
+++ b/example/test/main.o
Binary files differ
diff --git a/example/tools b/example/tools
deleted file mode 120000
index add5f73..0000000
--- a/example/tools
+++ /dev/null
@@ -1 +0,0 @@
-../mk \ No newline at end of file
diff --git a/example/tools/Kconfiglib b/example/tools/Kconfiglib
new file mode 160000
+Subproject a74dfcfaf14ea8a22866df725e757d7c901255d
diff --git a/example/tools/mk b/example/tools/mk
new file mode 120000
index 0000000..fdcfb78
--- /dev/null
+++ b/example/tools/mk
@@ -0,0 +1 @@
+../../mk \ No newline at end of file