Skip to content
Snippets Groups Projects
mkconfig 1.74 KiB
Newer Older
#!/bin/sh
#
# Copyright 2020 Daniel Friesel
#
# SPDX-License-Identifier: BSD-2-Clause

cat <<EOF

menu "System"

config loop
bool "Regularly call loop()"

config wakeup
bool "Call wakeup() on wakeup"

config ostream
bool "C++ ostream support in stdout"
depends on arch_esp8266 || arch_msp430fr5969lp || arch_msp430fr5994lp || arch_posix
config aspectc
bool "Build with AspectC++"
default n

config i2c_freq
int "I2C Frequency [Hz]"
range 1000 100000
default 100000
depends on meta_driver_i2c

config timer_freq
int "Timer Frequency"
range 1 10000
default 10
depends on meta_driver_timer

endmenu

choice Architecture
bool "Architecture"

EOF

for arch in $(ls -1 src/arch); do
	echo config arch_${arch} | tr - _
	echo bool '"'"$(cat src/arch/${arch}/prompt)"'"'
	echo
done

echo endchoice
echo

for arch in $(ls -1 src/arch); do
	echo config arch
	echo string
	echo default '"'"${arch}"'"'
	echo depends on arch_${arch} | tr - _
	echo
done

for arch in $(ls -1 src/arch); do
	if [ -e "src/arch/${arch}/Kconfig" ]; then
		echo menu '"'"$(cat src/arch/${arch}/prompt) Configuration"'"'
		echo depends on arch_${arch} | tr - _
		echo
		cat "src/arch/${arch}/Kconfig"
		echo
		echo endmenu
		echo
	fi
done

cat <<EOF
choice Application
bool "Application"

EOF

for app in $(ls -1 src/app); do
	if [ ! -e "src/app/${app}/Kconfig" ]; then
	echo config app_${app} | tr - _
	if [ -e "src/app/${app}/Kconfig" ]; then
		echo bool
		cat src/app/${app}/Kconfig
	else
		echo bool '"'${app}'"'
	fi
	echo
done

echo endchoice
echo

for app in $(ls -1 src/app); do
	if [ ! -e "src/app/${app}/Kconfig" ]; then
	echo config app
	echo string
	echo default '"'"${app}"'"'
	echo depends on app_${app} | tr - _
	echo
done

cat src/driver/Kconfig